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