Step
*
2
2
2
1
1
of Lemma
fdl-hom_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. Point(free-dl(X)) ~ free-dl-type(X)
9. istype(X List List)
10. ∀as,bs:X List List.  istype(dlattice-eq(X;as;bs))
11. ∀as:X List List. dlattice-eq(X;as;as)
12. istype(X List List)
13. ∀a1,b1:X List List.  istype(dlattice-eq(X;a1;b1))
14. ∀a1:X List List. dlattice-eq(X;a1;a1)
15. EquivRel(X List List;as,bs.dlattice-eq(X;as;bs))
16. as : X List List
17. bs : X List List
18. dlattice-eq(X;as;bs)
19. Point(L) = Point(L) ∈ Type
20. a1 : X List List
21. b1 : X List List
22. dlattice-eq(X;a1;b1)
23. Point(L) = Point(L) ∈ Type
⊢ fdl-hom(L;f) as ∧ fdl-hom(L;f) a1 = (fdl-hom(L;f) bs ∧ b1) ∈ Point(L)
BY
{ ((Assert ⌜fdl-hom(L;f) as ∧ fdl-hom(L;f) a1 = (fdl-hom(L;f) as ∧ a1) ∈ Point(L)⌝⋅
   THENM (NthHypEq (-1) THEN RepeatFor 3 (EqCDA) THEN EqTypeCD THEN Auto)
   )
   THEN ThinVar `bs'
   THEN ThinVar `b1'
   THEN RenameVar `bs' (-2)) }
1
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. Point(free-dl(X)) ~ free-dl-type(X)
9. istype(X List List)
10. ∀as,bs:X List List.  istype(dlattice-eq(X;as;bs))
11. ∀as:X List List. dlattice-eq(X;as;as)
12. istype(X List List)
13. ∀a1,b1:X List List.  istype(dlattice-eq(X;a1;b1))
14. ∀a1:X List List. dlattice-eq(X;a1;a1)
15. EquivRel(X List List;as,bs.dlattice-eq(X;as;bs))
16. as : X List List
17. Point(L) = Point(L) ∈ Type
18. bs : X List List
19. Point(L) = Point(L) ∈ Type
⊢ fdl-hom(L;f) as ∧ fdl-hom(L;f) bs = (fdl-hom(L;f) as ∧ bs) ∈ Point(L)
Latex:
Latex:
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.  Point(free-dl(X))  \msim{}  free-dl-type(X)
9.  istype(X  List  List)
10.  \mforall{}as,bs:X  List  List.    istype(dlattice-eq(X;as;bs))
11.  \mforall{}as:X  List  List.  dlattice-eq(X;as;as)
12.  istype(X  List  List)
13.  \mforall{}a1,b1:X  List  List.    istype(dlattice-eq(X;a1;b1))
14.  \mforall{}a1:X  List  List.  dlattice-eq(X;a1;a1)
15.  EquivRel(X  List  List;as,bs.dlattice-eq(X;as;bs))
16.  as  :  X  List  List
17.  bs  :  X  List  List
18.  dlattice-eq(X;as;bs)
19.  Point(L)  =  Point(L)
20.  a1  :  X  List  List
21.  b1  :  X  List  List
22.  dlattice-eq(X;a1;b1)
23.  Point(L)  =  Point(L)
\mvdash{}  fdl-hom(L;f)  as  \mwedge{}  fdl-hom(L;f)  a1  =  (fdl-hom(L;f)  bs  \mwedge{}  b1)
By
Latex:
((Assert  \mkleeneopen{}fdl-hom(L;f)  as  \mwedge{}  fdl-hom(L;f)  a1  =  (fdl-hom(L;f)  as  \mwedge{}  a1)\mkleeneclose{}\mcdot{}
  THENM  (NthHypEq  (-1)  THEN  RepeatFor  3  (EqCDA)  THEN  EqTypeCD  THEN  Auto)
  )
  THEN  ThinVar  `bs'
  THEN  ThinVar  `b1'
  THEN  RenameVar  `bs'  (-2))
Home
Index