Step
*
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. [a] : Base
8. [b] : Base
9. [c] : a = b ∈ (per-function(A;x.B x) × per-function(A;x.B x))
⊢ let f,g = a 
  in ∀v:∀[a:A]. ((f a) = (g a) ∈ (B a)). (f = g ∈ per-function(A;x.B x))
BY
{ (AutoPairEta [1] 0
   THEN UseWitness ⌜λ%.Ax⌝⋅
   THEN (GenConcl ⌜a = u ∈ (Base × Base)⌝⋅ THENA (Try (CompleteAuto) THEN AutoPairEta [2] 0))
   THEN DProdsAndUnions
   THEN Reduce 0) }
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. a : Base
8. b : Base
9. c : a = b ∈ (per-function(A;x.B x) × per-function(A;x.B x))
10. u1 : Base
11. u2 : Base
12. a = <u1, u2> ∈ (Base × Base)
⊢ λ%.Ax ∈ ∀v:∀[a@0:A]. ((u1 a@0) = (u2 a@0) ∈ (B a@0)). (u1 = u2 ∈ per-function(A;x.B x))
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.  [a]  :  Base
8.  [b]  :  Base
9.  [c]  :  a  =  b
\mvdash{}  let  f,g  =  a 
    in  \mforall{}v:\mforall{}[a:A].  ((f  a)  =  (g  a)).  (f  =  g)
By
Latex:
(AutoPairEta  [1]  0
  THEN  UseWitness  \mkleeneopen{}\mlambda{}\%.Ax\mkleeneclose{}\mcdot{}
  THEN  (GenConcl  \mkleeneopen{}a  =  u\mkleeneclose{}\mcdot{}  THENA  (Try  (CompleteAuto)  THEN  AutoPairEta  [2]  0))
  THEN  DProdsAndUnions
  THEN  Reduce  0)
Home
Index