Step * 1 of Lemma cal-filter-decomp


1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. fset(fset(T))
5. ↑fset-antichain(eq;s)
6. fset-all(s;a.P a)
7. {x:fset(T)| ↑P[x]}  ⟶ 𝔹
8. cal-filter(s;x.Q[x]) ∈ {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P a)} 
9. cal-filter(s;x.¬bQ[x]) ∈ {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P a)} 
10. 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)\000C;
                      cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x]);lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x])))
⊢ lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x])) ∈ fset(fset(T))
BY
((InstLemma `fset-ac-order` [⌜T⌝;⌜eq⌝]⋅ THENA Auto)
   THEN InstLemma `least-upper-bound-unique` 
   [⌜{ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} ⌝
   ; ⌜λ2ac1 ac2.fset-ac-le(eq;ac1;ac2)⌝;⌜cal-filter(s;x.Q[x])⌝;⌜cal-filter(s;x.¬bQ[x])⌝
   ; ⌜s⌝;⌜lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x]))⌝]⋅
   THEN Auto
   THEN 0
   THEN Auto
   THEN Try ((Unfold `cal-filter` 0
              THEN Fold `cal-filter` 0
              THEN BLemma `fset-ac-le_weakening_f-subset`
              THEN Auto
              THEN Unfold `cal-filter` 0
              THEN BLemma `fset-filter-subset2`
              THEN Auto
              THEN MemTypeCD
              THEN Auto
              THEN (InstLemma `fset-all-iff` [⌜fset(T)⌝;⌜deq-fset(eq)⌝;⌜P⌝;⌜s⌝]⋅ THENA Auto)
              THEN BHyp -1 
              THEN Auto))) }

1
1. Type
2. eq EqDecider(T)
3. fset(T) ⟶ 𝔹
4. fset(fset(T))
5. ↑fset-antichain(eq;s)
6. fset-all(s;a.P a)
7. {x:fset(T)| ↑P[x]}  ⟶ 𝔹
8. cal-filter(s;x.Q[x]) ∈ {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P a)} 
9. cal-filter(s;x.¬bQ[x]) ∈ {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P a)} 
10. 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)\000C;
                      cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x]);lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.¬bQ[x])))
11. Order({ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ;ac1,ac2.fset-ac-le(eq;ac1;ac2))
12. fset-ac-le(eq;cal-filter(s;x.¬bQ[x]);s)
13. {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.P[a])} 
14. fset-ac-le(eq;cal-filter(s;x.Q[x]);x)
15. fset-ac-le(eq;cal-filter(s;x.¬bQ[x]);x)
⊢ fset-ac-le(eq;s;x)


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  P  :  fset(T)  {}\mrightarrow{}  \mBbbB{}
4.  s  :  fset(fset(T))
5.  \muparrow{}fset-antichain(eq;s)
6.  fset-all(s;a.P  a)
7.  Q  :  \{x:fset(T)|  \muparrow{}P[x]\}    {}\mrightarrow{}  \mBbbB{}
8.  cal-filter(s;x.Q[x])  \mmember{}  \{ac:fset(fset(T))|  (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.P  a)\} 
9.  cal-filter(s;x.\mneg{}\msubb{}Q[x])  \mmember{}  \{ac:fset(fset(T))|  (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.P  a)\} 
10.  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);
                                            cal-filter(s;x.Q[x]);cal-filter(s;x.\mneg{}\msubb{}Q[x]);lub(P;cal-filter(s;x.Q[x]);...))
\mvdash{}  s  =  lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.\mneg{}\msubb{}Q[x]))


By


Latex:
((InstLemma  `fset-ac-order`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  InstLemma  `least-upper-bound-unique` 
  [\mkleeneopen{}\{ac:fset(fset(T))|  (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.P[a])\}  \mkleeneclose{}
  ;  \mkleeneopen{}\mlambda{}\msubtwo{}ac1  ac2.fset-ac-le(eq;ac1;ac2)\mkleeneclose{};\mkleeneopen{}cal-filter(s;x.Q[x])\mkleeneclose{};\mkleeneopen{}cal-filter(s;x.\mneg{}\msubb{}Q[x])\mkleeneclose{}
  ;  \mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}lub(P;cal-filter(s;x.Q[x]);cal-filter(s;x.\mneg{}\msubb{}Q[x]))\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  D  0
  THEN  Auto
  THEN  Try  ((Unfold  `cal-filter`  0
                        THEN  Fold  `cal-filter`  0
                        THEN  BLemma  `fset-ac-le\_weakening\_f-subset`
                        THEN  Auto
                        THEN  Unfold  `cal-filter`  0
                        THEN  BLemma  `fset-filter-subset2`
                        THEN  Auto
                        THEN  MemTypeCD
                        THEN  Auto
                        THEN  (InstLemma  `fset-all-iff`  [\mkleeneopen{}fset(T)\mkleeneclose{};\mkleeneopen{}deq-fset(eq)\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{}]\mcdot{}  THENA  Auto)
                        THEN  BHyp  -1 
                        THEN  Auto)))




Home Index