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