A guarded recursive domain equation solver.
Copyright (c) The Iris-Lean Contributors.
The approximation carriers bundled with their complete space structures.
Equations
- Iris.COFE.OFunctor.Fix.Impl.A' F 0 = ⟨ULift Unit, inferInstance⟩
- Iris.COFE.OFunctor.Fix.Impl.A' F n.succ = match Iris.COFE.OFunctor.Fix.Impl.A' F n with | ⟨A, snd⟩ => ⟨F A A, inferInstance⟩
Instances For
Equations
Equations
The section/retraction pair at every level, computed by a single recursion so
that evaluating either component at level k costs O(k) (the naive mutual
recursion recomputes both branches at every level, which is 2^k).
Equations
- One or more equations did not get rendered due to their size.
- Iris.COFE.OFunctor.Fix.Impl.updown F n.succ = match Iris.COFE.OFunctor.Fix.Impl.updown F n with | (u, d) => (Iris.COFE.OFunctor.map d u, Iris.COFE.OFunctor.map u d)
Instances For
The section from one approximation level to its successor.
Equations
Instances For
The retraction from a successor approximation to its predecessor.
Equations
Instances For
A family of approximations compatible with all one-step retractions.
The approximation at each tower level.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Evaluate a chain of coherent towers at one level.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Compose the sections through a specified number of approximation levels.
Equations
Instances For
Compose the retractions through a specified number of approximation levels.
Equations
Instances For
Project a coherent tower to one approximation level.
Equations
- Iris.COFE.OFunctor.Fix.Impl.Tower.proj k = { f := fun (x : Iris.COFE.OFunctor.Fix.Impl.Tower F) => x.val k, ne := ⋯ }
Instances For
Embed or retract between any two approximation levels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extend one approximation to a coherent tower.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Iris.COFE.OFunctor.Fix.Impl.instInhabitedTower = { default := (Iris.COFE.OFunctor.Fix.Impl.Tower.embed 0).f { down := () } }
The Cauchy chain of functor images used to unfold a coherent tower.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The explicit isomorphism between a coherent tower and its functor image.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The tower isomorphism, kept irreducible during elaboration.
Instances For
The recursive domain constructed as a tower of finite approximations.
Equations
Instances For
Equations
- Iris.COFE.OFunctor.instFix = { Dist := Iris.COFE.OFunctor.instFix._aux_1, dist_eqv := ⋯, eq_dist' := ⋯, dist_lt := ⋯, compl := Iris.COFE.OFunctor.instFix._aux_6, conv_compl := ⋯ }
The isomorphism from the functor image to the constructed recursive domain.