Step
*
1
1
1
1
1
of Lemma
per-function-ext
1. A : Type
2. per-function(A;a.Type) ∈ 𝕌'
3. B : per-function(A;x.Type)
4. ∀[a:A]. (B a ∈ Type)
5. per-function(A;a.B a) ∈ Type
6. ∀[f:per-function(A;a.B a)]. ∀[a:A].  (f a ∈ B a)
7. b : Base
8. u1 : Base
9. u2 : Base
10. <u1, u2> = b ∈ (per-function(A;x.B x) × per-function(A;x.B x))
11. u1 ∈ per-function(A;a.B a)
12. u2 ∈ per-function(A;a.B a)
13. ∀[a@0:A]. ((u1 a@0) = (u2 a@0) ∈ (B a@0))
⊢ u1 = u2 ∈ per-function(A;x.B x)
BY
{ (Unfold `per-function` 0
   THEN Refine_pertypeMemberEquality ⌜A⌝⋅
   THEN Try ((Fold `per-function` 0 THEN Auto))
   THEN Reduce 0
   THEN Try (Trivial)) }
1
1. A : Type
2. per-function(A;a.Type) ∈ 𝕌'
3. B : per-function(A;x.Type)
4. ∀[a:A]. (B a ∈ Type)
5. per-function(A;a.B a) ∈ Type
6. ∀[f:per-function(A;a.B a)]. ∀[a:A].  (f a ∈ B a)
7. b : Base
8. u1 : Base
9. u2 : Base
10. <u1, u2> = b ∈ (per-function(A;x.B x) × per-function(A;x.B x))
11. u1 ∈ per-function(A;a.B a)
12. u2 ∈ per-function(A;a.B a)
13. ∀[a@0:A]. ((u1 a@0) = (u2 a@0) ∈ (B a@0))
⊢ function-eq(A;x.B x;u1;u2)
Latex:
Latex:
1.  A  :  Type
2.  per-function(A;a.Type)  \mmember{}  \mBbbU{}'
3.  B  :  per-function(A;x.Type)
4.  \mforall{}[a:A].  (B  a  \mmember{}  Type)
5.  per-function(A;a.B  a)  \mmember{}  Type
6.  \mforall{}[f:per-function(A;a.B  a)].  \mforall{}[a:A].    (f  a  \mmember{}  B  a)
7.  b  :  Base
8.  u1  :  Base
9.  u2  :  Base
10.  <u1,  u2>  =  b
11.  u1  \mmember{}  per-function(A;a.B  a)
12.  u2  \mmember{}  per-function(A;a.B  a)
13.  \mforall{}[a@0:A].  ((u1  a@0)  =  (u2  a@0))
\mvdash{}  u1  =  u2
By
Latex:
(Unfold  `per-function`  0
  THEN  Refine\_pertypeMemberEquality  \mkleeneopen{}A\mkleeneclose{}\mcdot{}
  THEN  Try  ((Fold  `per-function`  0  THEN  Auto))
  THEN  Reduce  0
  THEN  Try  (Trivial))
Home
Index