Documentation

LeanPool.PointwiseComposition.CategoricalRiceShapiro.Evaluator.CellCongruence

Supporting results for pointwise provable equality.

Heterogeneous congruence for the evaluator cell #

eval_codeEvaluatorCell_congr_at compares two evaluator cells written at different arities and read under different assignments. It is the analogue for codeEvaluatorCell of eval_codeBeta_congr_at, and is proved the same way: a relation saying that two codes have the same graph, each under its own assignment, is propagated through every constructor the cell is built from.

Every branch of the eager conditional is treated; none is discarded because its tag is unused. The derived constructors are delta-reduced as syntax trees only. No arithmetic meaning is attached to any of them, no totality is asserted, and the results hold in an arbitrary ORingStructure.

The partial-recursive index layer #

The encoded-list layer #

Two table lookups agree whenever their four argument codes do, even at different arities and under different assignments.

This is the public form of the private closure above; the chain is not duplicated.

The evaluator-cell branches #

Two evaluator cells agree whenever their table and index codes do, even at different arities and under different assignments.

Every branch of the eager conditional is compared; none is discarded.