Step * 1 1 1 1 1 of Lemma per-function-ext


1. Type
2. per-function(A;a.Type) ∈ 𝕌'
3. 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 ∈ a)
7. 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` THEN Auto))
   THEN Reduce 0
   THEN Try (Trivial)) }

1
1. Type
2. per-function(A;a.Type) ∈ 𝕌'
3. 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 ∈ a)
7. 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