Step
*
2
2
2
1
1
1
1
1
1
2
1
3
of Lemma
fdl-hom_wf
.....wf..... 
1. X : Type
2. L : BoundedDistributiveLattice
3. f : X ⟶ Point(L)
4. fdl-hom(L;f) ∈ free-dl-type(X) ⟶ Point(L)
5. (fdl-hom(L;f) 0) = 0 ∈ Point(L)
6. (fdl-hom(L;f) 1) = 1 ∈ Point(L)
7. ∀as,bs:X List List.  (fdl-hom(L;f) as ∨ fdl-hom(L;f) bs = (fdl-hom(L;f) as ∨ bs) ∈ Point(L))
8. ys : X List List
9. y : X List
10. ∀bs:X List List. (fdl-hom(L;f) ys ∧ fdl-hom(L;f) bs = (fdl-hom(L;f) free-dl-meet(ys;bs)) ∈ Point(L))
11. bs : X List List
12. z : free-dl-type(X)
⊢ fdl-hom(L;f) ys ∨ [y] ∧ fdl-hom(L;f) bs = (fdl-hom(L;f) z) ∈ Point(L) ∈ ℙ
BY
{ (Auto
   THEN (SubsumeC ⌜X List List⌝⋅ THEN Auto)
   THEN (Subst' Point(free-dl(X)) ~ free-dl-type(X) 0 THENA (RW (SubC (TagC (mk_tag_term 100))) 0 THEN Auto))
   THEN Auto) }
Latex:
Latex:
.....wf..... 
1.  X  :  Type
2.  L  :  BoundedDistributiveLattice
3.  f  :  X  {}\mrightarrow{}  Point(L)
4.  fdl-hom(L;f)  \mmember{}  free-dl-type(X)  {}\mrightarrow{}  Point(L)
5.  (fdl-hom(L;f)  0)  =  0
6.  (fdl-hom(L;f)  1)  =  1
7.  \mforall{}as,bs:X  List  List.    (fdl-hom(L;f)  as  \mvee{}  fdl-hom(L;f)  bs  =  (fdl-hom(L;f)  as  \mvee{}  bs))
8.  ys  :  X  List  List
9.  y  :  X  List
10.  \mforall{}bs:X  List  List.  (fdl-hom(L;f)  ys  \mwedge{}  fdl-hom(L;f)  bs  =  (fdl-hom(L;f)  free-dl-meet(ys;bs)))
11.  bs  :  X  List  List
12.  z  :  free-dl-type(X)
\mvdash{}  fdl-hom(L;f)  ys  \mvee{}  [y]  \mwedge{}  fdl-hom(L;f)  bs  =  (fdl-hom(L;f)  z)  \mmember{}  \mBbbP{}
By
Latex:
(Auto
  THEN  (SubsumeC  \mkleeneopen{}X  List  List\mkleeneclose{}\mcdot{}  THEN  Auto)
  THEN  (Subst'  Point(free-dl(X))  \msim{}  free-dl-type(X)  0
              THENA  (RW  (SubC  (TagC  (mk\_tag\_term  100)))  0  THEN  Auto)
              )
  THEN  Auto)
Home
Index