Step
*
2
2
2
3
2
1
of Lemma
fpf-sub-functionality2
1. A : Type
2. A' : Type
3. strong-subtype(A;A')
4. B : A ─→ Type
5. C : A' ─→ Type
6. eq : EqDecider(A)
7. eq' : EqDecider(A')
8. f : a:A fp-> B[a]
9. g : a:A fp-> B[a]
10. ∀a:A. (B[a] ⊆r C[a])
11. ∀x:A. ((↑x ∈ dom(f)) 
⇒ ((↑x ∈ dom(g)) c∧ (((snd(f)) x) = ((snd(g)) x) ∈ B[x])))
12. x : A'@i
13. ↑x ∈ dom(f)@i
14. x ∈ A
15. ↑x ∈ dom(g)
16. ((snd(f)) x) = ((snd(g)) x) ∈ B[x]
17. ↑x ∈ dom(g)
18. z : B[x]
⊢ eq' ∈ EqDecider(A)
BY
{ (DoSubsume THEN Auto THEN BLemma `strong-subtype-deq-subtype` THEN Auto)⋅ }
Latex:
1.  A  :  Type
2.  A'  :  Type
3.  strong-subtype(A;A')
4.  B  :  A  {}\mrightarrow{}  Type
5.  C  :  A'  {}\mrightarrow{}  Type
6.  eq  :  EqDecider(A)
7.  eq'  :  EqDecider(A')
8.  f  :  a:A  fp->  B[a]
9.  g  :  a:A  fp->  B[a]
10.  \mforall{}a:A.  (B[a]  \msubseteq{}r  C[a])
11.  \mforall{}x:A.  ((\muparrow{}x  \mmember{}  dom(f))  {}\mRightarrow{}  ((\muparrow{}x  \mmember{}  dom(g))  c\mwedge{}  (((snd(f))  x)  =  ((snd(g))  x))))
12.  x  :  A'@i
13.  \muparrow{}x  \mmember{}  dom(f)@i
14.  x  \mmember{}  A
15.  \muparrow{}x  \mmember{}  dom(g)
16.  ((snd(f))  x)  =  ((snd(g))  x)
17.  \muparrow{}x  \mmember{}  dom(g)
18.  z  :  B[x]
\mvdash{}  eq'  \mmember{}  EqDecider(A)
By
(DoSubsume  THEN  Auto  THEN  BLemma  `strong-subtype-deq-subtype`  THEN  Auto)\mcdot{}
Home
Index