Proof of `Lifting type trees through a resolve`
groundedproofs/Lax185574Proofs/ResolveLift.lean · lax-185574
What this proof establishes
Assuming the claims on the left, the claim on the right holds — checked by the archive's pipeline. Proof code is not displayed here.
In the paper
- page 49 of this submission's paper
Description
The program is the loop driver of the glue program of the resolve lift with the switch of its five callees: the rank shift (the rank shift lemma), the far tree (the far tree lemma), the far composition (the far composition lemma), the canonical form (the canonical form observation) and the scatter type (the lemma on computing scatter types). The glue program first computes the scatter type of the input, then walks down the levels of the items, asking for the shift, the far tree and the compositions of each item, and walks up again, asking for the canonical forms of the atoms and of the children of each item. Its last round builds the resolved graph and its distance matrix, by the formula for distances after a resolve, and writes the output. Every round runs within a constant times steps, with , except the first two and the last round, which read the input or write the output and run within a constant times steps. With at most a constant times rounds, the total time of the glue program is within the bound. The sizes of the output trees are those of the type trees of the resolved graph.
The proof is carried out for the notion , and transferred to through .