Step * of Lemma free-dist-lattice_wf

[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. 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. {ac:fset(fset(T))| ↑fset-antichain(eq;ac)} 
⊢ fset-ac-le(eq;{};a)


Latex:


Latex:
\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