Equations
- Iris.«term_≡_» = Lean.ParserDescr.trailingNode `Iris.«term_≡_» 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≡ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A non-expansive function preserves equivalence.
DistLater n x y means that x and y are m-equivalent for all m < n.
Equations
- Iris.OFE.DistLater n x y = ∀ (m : Nat), m < n → Iris.OFE.Dist m x y
Instances For
DistLater n-equivalence is an equivalence relation.
A contractive function is non-expansive.
A contractive function preserves equivalence.
Constant functions are contractive.
The discrete OFE obtained from an equivalence relation Equiv
Equations
- Iris.OFE.ofDiscrete Equiv equiv_eqv = { Equiv := Equiv, Dist := fun (x : Nat) => Equiv, dist_eqv := ⋯, equiv_dist := ⋯, dist_lt := ⋯ }
Instances For
A morphism between OFEs, written α -n> β, is defined to be a function that is
non-expansive.
- f : α → β
- ne : NonExpansive self.f
Instances For
A morphism between OFEs, written α -n> β, is defined to be a function that is
non-expansive.
Equations
- Iris.OFE.«term_-n>_» = Lean.ParserDescr.trailingNode `Iris.OFE.«term_-n>_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " -n> ") (Lean.ParserDescr.cat `term 25))
Instances For
Equations
- f : α → β
- ne : NonExpansive self.f
- contractive : Contractive self.f
Instances For
Equations
- Iris.OFE.«term_-c>_» = Lean.ParserDescr.trailingNode `Iris.OFE.«term_-c>_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " -c> ") (Lean.ParserDescr.cat `term 25))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Iris.OFE.uliftDownHom = { f := ULift.down, ne := ⋯ }
Instances For
Equations
- Option.Forall₂ R none none = True
- Option.Forall₂ R (some a) (some b) = R a b
- Option.Forall₂ R x✝¹ x✝ = False
Instances For
Equations
- Iris.OFE.instOption = { Equiv := Option.Forall₂ Iris.OFE.Equiv, Dist := fun (n : Nat) => Option.Forall₂ (Iris.OFE.Dist n), dist_eqv := ⋯, equiv_dist := ⋯, dist_lt := ⋯ }
Equations
- Iris.OFE.applyHom x = { f := fun (f : (x : α) → β x) => f x, ne := ⋯ }
Instances For
An isomorphism between two OFEs is a pair of morphisms whose composition is equivalent to the identity morphism.
Instances For
Equations
- Iris.OFE.instCoeFunIsoHom = { coe := Iris.OFE.Iso.hom }
The identity OFE isomorphism
Equations
- Iris.OFE.Iso.id = { hom := Iris.OFE.Hom.id, inv := Iris.OFE.Hom.id, hom_inv := ⋯, inv_hom := ⋯ }
Instances For
Equations
The constant chain.
Equations
- Iris.Chain.const a = { chain := fun (x : Nat) => a, cauchy := ⋯ }
Instances For
Complete ordered family of equivalences
Instances
Constant chains complete to their constant value
Completion of discrete COFEs is the constant value.
The discrete COFE obtained from an equivalence relation Equiv
Equations
- Iris.COFE.ofDiscrete Equiv equiv_eqv = { toOFE := Iris.OFE.ofDiscrete Equiv equiv_eqv, compl := fun (c : Iris.Chain α) => c.chain 0, conv_compl := ⋯ }
Instances For
Equations
- Iris.COFE.instULift = { toOFE := Iris.OFE.instULift, compl := fun (c : Iris.Chain (ULift α)) => { down := Iris.IsCOFE.compl (Iris.Chain.map Iris.OFE.uliftDownHom c) }, conv_compl := ⋯ }
Equations
- Iris.COFE.instUnit = { toOFE := Iris.OFE.instUnit, compl := fun (x : Iris.Chain Unit) => (), conv_compl := ⋯ }
Equations
Instances For
- map_id {α : Type u_1} {β : Type u_2} [OFE α] [OFE β] (x : F α β) : OFE.Equiv ((map OFE.Hom.id OFE.Hom.id).f x) x
Instances
- map_id {α : Type u_1} {β : Type u_2} [OFE α] [OFE β] (x : F α β) : OFE.Equiv ((map OFE.Hom.id OFE.Hom.id).f x) x
- map_contractive {α₁ α₂ : Type u_1} {β₁ β₂ : Type u_2} [OFE α₁] [OFE α₂] [OFE β₁] [OFE β₂] : OFE.Contractive (Function.uncurry OFunctor.map)
Instances
Equations
- Iris.COFE.OFunctor.constOF_contractive = { toOFunctor := Iris.COFE.oFunctorConstOF, map_contractive := ⋯ }
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- Iris.isCOFE_option = { compl := fun (c : Iris.Chain (Option α)) => Option.map (fun (x : α) => Iris.IsCOFE.compl (Iris.optionChain c x)) (c.chain 0), conv_compl := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Iris.instOFunctorContractiveOptionOF F = { toOFunctor := Iris.oFunctorOption F, map_contractive := ⋯ }
Equations
- Iris.LimitPreserving P = ∀ (c : Iris.Chain α), (∀ (n : Nat), P (c.chain n)) → P (Iris.IsCOFE.compl c)
Instances For
Equations
- Iris.Fixpoint.chain f = { chain := fun (n : Nat) => Nat.repeat f (n + 1) default, cauchy := ⋯ }
Instances For
Fixpoints inside of a COFE
Equations
Instances For
Equations
- Iris.isCOFE_later = { compl := fun (c : Iris.Chain (Iris.Later A)) => { car := Iris.IsCOFE.compl (Iris.laterChain c) }, conv_compl := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Iris.instOFunctorContractiveLaterOF F = { toOFunctor := Iris.oFunctorLater F, map_contractive := ⋯ }