Step
*
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∧ (f(x) = g(x) ∈ B[x])))
12. x : A'@i
13. ↑x ∈ dom(f)@i
14. x ∈ A
15. ↑x ∈ dom(g)
16. f(x) = g(x) ∈ B[x]
⊢ ↑x ∈ dom(g)
BY
{ ((UniformMoveToConcl (-2))
THEN BLemma `fpf-dom_functionality2`
THEN Auto
THEN DoSubsume
THEN Auto
THEN Try ((BLemma `strong-subtype-deq-subtype` THEN Auto))
THEN Try ((BLemma `subtype-fpf3` THEN Auto))
THEN TrySubsume
THEN D 0
THEN Auto
THEN TrySubsume)⋅ }
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{} (f(x) = g(x))))
12. x : A'@i
13. \muparrow{}x \mmember{} dom(f)@i
14. x \mmember{} A
15. \muparrow{}x \mmember{} dom(g)
16. f(x) = g(x)
\mvdash{} \muparrow{}x \mmember{} dom(g)
By
((UniformMoveToConcl (-2))
THEN BLemma `fpf-dom\_functionality2`
THEN Auto
THEN DoSubsume
THEN Auto
THEN Try ((BLemma `strong-subtype-deq-subtype` THEN Auto))
THEN Try ((BLemma `subtype-fpf3` THEN Auto))
THEN TrySubsume
THEN D 0
THEN Auto
THEN TrySubsume)\mcdot{}
Home
Index