Step * of Lemma constrained-antichain-lattice_wf

[T:Type]. ∀[eq:EqDecider(T)]. ∀[P:fset(T) ⟶ 𝔹].
  constrained-antichain-lattice(T;eq;P) ∈ BoundedDistributiveLattice 
  supposing (∀x,y:fset(T).  (y ⊆  (↑(P x))  (↑(P y)))) ∧ (↑(P {}))
BY
(Auto
   THEN Unfold `constrained-antichain-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
.....wf..... 
1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. ∀x,y:fset(T).  (y ⊆  (↑(P x))  (↑(P y)))
5. ↑(P {})
⊢ {{}} ∈ {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 

2
1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. ∀x,y:fset(T).  (y ⊆  (↑(P x))  (↑(P y)))
5. ↑(P {})
6. Order({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y))
7. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 
8. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 
⊢ least-upper-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y);
                    a;b;lub(P;a;b))

3
1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. ∀x,y:fset(T).  (y ⊆  (↑(P x))  (↑(P y)))
5. ↑(P {})
6. Order({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y))
7. ∀[a,b:{ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ].
     least-upper-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y);
                       a;b;lub(P;a;b))
8. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 
9. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 
⊢ greatest-lower-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y);a;b;glb\000C(P;a;b))

4
1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. ∀x,y:fset(T).  (y ⊆  (↑(P x))  (↑(P y)))
5. ↑(P {})
6. Order({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y))
7. ∀[a,b:{ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ].
     least-upper-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y);
                       a;b;lub(P;a;b))
8. ∀[a,b:{ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ].
     greatest-lower-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ;x,y.fset-ac-le(eq;x;y);a;b;\000Cglb(P;a;b))
9. ∀[a:{ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} ]. fset-ac-le(eq;a;{{}})
10. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;x.P x)} 
⊢ fset-ac-le(eq;{};a)


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[P:fset(T)  {}\mrightarrow{}  \mBbbB{}].
    constrained-antichain-lattice(T;eq;P)  \mmember{}  BoundedDistributiveLattice 
    supposing  (\mforall{}x,y:fset(T).    (y  \msubseteq{}  x  {}\mRightarrow{}  (\muparrow{}(P  x))  {}\mRightarrow{}  (\muparrow{}(P  y))))  \mwedge{}  (\muparrow{}(P  \{\}))


By


Latex:
(Auto
  THEN  Unfold  `constrained-antichain-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