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 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. 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) a} {} ∈ fset(fset(T)))))
8. ∀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{}[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