Step
*
2
1
of Lemma
fpf-sub-functionality
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. ∀b:A'. ∀a:A. ((b = a ∈ A')
⇒ (b = a ∈ A))
13. x : A@i
14. ↑x ∈ dom(f)@i
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. \mforall{}b:A'. \mforall{}a:A. ((b = a) {}\mRightarrow{} (b = a))
13. x : A@i
14. \muparrow{}x \mmember{} dom(f)@i
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)
Home
Index