Step * of Lemma fset-ac-lub-is-lub

[T:Type]. ∀[eq:EqDecider(T)]. ∀[ac1,ac2:{ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ].
  least-upper-bound({ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ;ac1,ac2.fset-ac-le(eq;ac1;ac2);
                    ac1;ac2;fset-ac-lub(eq;ac1;ac2))
BY
(Auto
   THEN 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 (((FLemma `fset-ac-le-implies` [-2] THENA Auto) THEN Thin (-3))))
   )) }

1
1. Type
2. eq EqDecider(T)
3. ac1 {ac:fset(fset(T))| ↑fset-antichain(eq;ac)} 
4. ac2 {ac:fset(fset(T))| ↑fset-antichain(eq;ac)} 
5. ac3 {ac:fset(fset(T))| ↑fset-antichain(eq;ac)} @i
6. ∀a:fset(T). (a ∈ ac1  ({y ∈ ac3 deq-f-subset(eq) a} {} ∈ fset(fset(T)))))
7. ∀a:fset(T). (a ∈ ac2  ({y ∈ ac3 deq-f-subset(eq) 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{}[ac1,ac2:\{ac:fset(fset(T))|  \muparrow{}fset-antichain(eq;ac)\}  ].
    least-upper-bound(\{ac:fset(fset(T))|  \muparrow{}fset-antichain(eq;ac)\}  ;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