Step
*
of Lemma
free-dist-lattice_wf
No Annotations
∀[T:Type]. ∀[eq:EqDecider(T)]. (free-dist-lattice(T; eq) ∈ BoundedDistributiveLattice)
BY
{ (Auto
THEN Unfold `free-dist-lattice` 0
THEN Using [`R',⌜λ2ac1 ac2.fset-ac-le(eq;ac1;ac2)⌝] (BLemma `mk-bounded-distributive-lattice-from-order`)⋅
THEN RepUR ``so_apply`` 0
THEN Auto) }
1
1. T : Type
2. eq : EqDecider(T)
3. Order({ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ;x,y.fset-ac-le(eq;x;y))
4. ∀[a,b:{ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ].
least-upper-bound({ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ;x,y.fset-ac-le(eq;x;y);a;b;fset-ac-lub(eq;a;b))
5. ∀[a,b:{ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ].
greatest-lower-bound({ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ;x,y.fset-ac-le(eq;x;y);a;b;fset-ac-glb(eq;a;b))
6. ∀[a:{ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ]. fset-ac-le(eq;a;{{}})
7. a : {ac:fset(fset(T))| ↑fset-antichain(eq;ac)}
⊢ fset-ac-le(eq;{};a)
Latex:
Latex:
No Annotations
\mforall{}[T:Type]. \mforall{}[eq:EqDecider(T)]. (free-dist-lattice(T; eq) \mmember{} BoundedDistributiveLattice)
By
Latex:
(Auto
THEN Unfold `free-dist-lattice` 0
THEN Using [`R',\mkleeneopen{}\mlambda{}\msubtwo{}ac1 ac2.fset-ac-le(eq;ac1;ac2)\mkleeneclose{}
] (BLemma `mk-bounded-distributive-lattice-from-order`)\mcdot{}
THEN RepUR ``so\_apply`` 0
THEN Auto)
Home
Index