Step
*
1
of Lemma
lattice-extend-wc-meet
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. L : BoundedDistributiveLattice
5. eqL : EqDecider(Point(L))
6. f : T ⟶ Point(L)
7. ∀x:T. ∀c:fset(T).  (c ∈ Cs[x] 
⇒ (/\(f"(c)) = 0 ∈ Point(L)))
8. a : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))} 
9. b : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))} 
⊢ lattice-extend'(L;eq;eqL;f;f-union(deq-fset(eq);deq-fset(eq);a;as.λbs.as ⋃ bs"(b) s.t. λs....)) 
  ≤ lattice-extend'(L;eq;eqL;f;glb(λs.fset-contains-none(eq;s;x.Cs[x]);a;b))
BY
{ (Unfold `fset-constrained-ac-glb` 0
   THEN (GenConclTerm ⌜f-union(deq-fset(eq);deq-fset(eq);a;as.λbs.as ⋃ bs"(b) s.t. λs.fset-contains-none(eq;s;x.Cs[x]))⌝
         ⋅
         THENA Auto
         )
   THEN Unfold `lattice-extend\'` 0
   THEN (InstLemma `fset-minimals-ac-le` [⌜T⌝;⌜eq⌝;⌜v⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (GenConclTerm ⌜fset-minimals(xs,ys.f-proper-subset-dec(eq;xs;ys); v)⌝⋅ THENA Auto)
   THEN All Thin
   THEN RenameVar `as' (-2)
   THEN RenameVar `bs' (-1)) }
1
1. T : Type
2. eq : EqDecider(T)
3. L : BoundedDistributiveLattice
4. eqL : EqDecider(Point(L))
5. f : T ⟶ Point(L)
6. as : fset(fset(T))@i
7. bs : fset(fset(T))@i
⊢ fset-ac-le(eq;as;bs) 
⇒ \/(λxs./\(f"(xs))"(as)) ≤ \/(λxs./\(f"(xs))"(bs))
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  Cs  :  T  {}\mrightarrow{}  fset(fset(T))
4.  L  :  BoundedDistributiveLattice
5.  eqL  :  EqDecider(Point(L))
6.  f  :  T  {}\mrightarrow{}  Point(L)
7.  \mforall{}x:T.  \mforall{}c:fset(T).    (c  \mmember{}  Cs[x]  {}\mRightarrow{}  (/\mbackslash{}(f"(c))  =  0))
8.  a  :  \{ac:fset(fset(T))| 
                (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))\} 
9.  b  :  \{ac:fset(fset(T))| 
                (\muparrow{}fset-antichain(eq;ac))  \mwedge{}  fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))\} 
\mvdash{}  lattice-extend'(L;eq;eqL;f;f-union(deq-fset(eq);deq-fset(eq);a;as.\mlambda{}bs.as  \mcup{}  bs"(b)  s.t.  \mlambda{}s....)) 
    \mleq{}  lattice-extend'(L;eq;eqL;f;glb(\mlambda{}s.fset-contains-none(eq;s;x.Cs[x]);a;b))
By
Latex:
(Unfold  `fset-constrained-ac-glb`  0
  THEN  (GenConclTerm 
              \mkleeneopen{}f-union(deq-fset(eq);deq-fset(eq);a;as.\mlambda{}bs.as  \mcup{}  bs"(b)  s.t.  \mlambda{}s....)\mkleeneclose{}\mcdot{}
              THENA  Auto
              )
  THEN  Unfold  `lattice-extend\mbackslash{}'`  0
  THEN  (InstLemma  `fset-minimals-ac-le`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}v\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (GenConclTerm  \mkleeneopen{}fset-minimals(xs,ys.f-proper-subset-dec(eq;xs;ys);  v)\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  All  Thin
  THEN  RenameVar  `as'  (-2)
  THEN  RenameVar  `bs'  (-1))
Home
Index