Step
*
of Lemma
fset-ac-lub-is-lub-constrained
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[P:fset(T) ⟶ 𝔹]. ∀[ac1,ac2:{ac:fset(fset(T))| 
                                                             (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} ].
  least-upper-bound({ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} ac1,ac2.fset-ac-le(eq;ac1;ac2);
                    ac1;ac2;fset-ac-lub(eq;ac1;ac2))
BY
{ (Auto
   THEN D 0
   THEN Auto
   THEN (Complete ((Unfold `fset-ac-lub` 0
                    THEN (InstLemma `fset-ac-le_transitivity` [⌜T⌝;⌜eq⌝]⋅ THENA Auto)
                    THEN Using [`ac2',⌜ac1 ⋃ ac2⌝] (BHyp (-1))⋅
                    THEN EAuto 2))
   ORELSE (RenameVar `ac3' (-3)
           THEN Thin (-4)
           THEN RepeatFor 2 (((FLemma `fset-ac-le-implies` [-2] THENA Auto) THEN Thin (-3))))
   )) }
1
1. T : Type
2. eq : EqDecider(T)
3. P : fset(T) ⟶ 𝔹
4. ac1 : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} 
5. ac2 : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} 
6. ac3 : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} @i
7. ∀a:fset(T). (a ∈ ac1 
⇒ (¬({y ∈ ac3 | deq-f-subset(eq) y a} = {} ∈ fset(fset(T)))))
8. ∀a:fset(T). (a ∈ ac2 
⇒ (¬({y ∈ ac3 | deq-f-subset(eq) y a} = {} ∈ fset(fset(T)))))
⊢ fset-ac-le(eq;fset-ac-lub(eq;ac1;ac2);ac3)
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[P:fset(T)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[ac1,ac2:\{ac:fset(fset(T))| 
                                                                                                                          (\muparrow{}fset-antichain(eq;ac))
                                                                                                                          \mwedge{}  fset-all(ac;a.P[a])\}  ].
    least-upper-bound(\{ac:fset(fset(T))|  (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.P[a])\}  ;
                                        ac1,ac2.fset-ac-le(eq;ac1;ac2);ac1;ac2;fset-ac-lub(eq;ac1;ac2))
By
Latex:
(Auto
  THEN  D  0
  THEN  Auto
  THEN  (Complete  ((Unfold  `fset-ac-lub`  0
                                    THEN  (InstLemma  `fset-ac-le\_transitivity`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{}]\mcdot{}  THENA  Auto)
                                    THEN  Using  [`ac2',\mkleeneopen{}ac1  \mcup{}  ac2\mkleeneclose{}]  (BHyp  (-1))\mcdot{}
                                    THEN  EAuto  2))
  ORELSE  (RenameVar  `ac3'  (-3)
                  THEN  Thin  (-4)
                  THEN  RepeatFor  2  (((FLemma  `fset-ac-le-implies`  [-2]  THENA  Auto)  THEN  Thin  (-3))))
  ))
Home
Index