Step
*
1
1
of Lemma
fpf-sub-val2
1. [A] : Type
2. [A'] : Type
3. strong-subtype(A;A')
4. [B] : A ⟶ Type
5. eq : EqDecider(A')@i
6. f : a:A fp-> B[a]@i
7. g : a:A fp-> B[a]@i
8. x : A'@i
9. [P] : a:A ⟶ B[a] ⟶ ℙ
10. [Q] : a:A ⟶ B[a] ⟶ ℙ
11. ∀x:A. ∀z:B[x].  (P[x;z] 
⇒ Q[x;z])@i
12. g ⊆ f
13. eq ∈ EqDecider(A)
⊢ z != f(x) ==> P[x;z] 
⇒ z != g(x) ==> Q[x;z]
BY
{ (Unfold `fpf-val` 0 THEN D 7 THEN D 6 THEN Unfold `fpf-dom` 0 THEN Reduce 0) }
1
1. [A] : Type
2. [A'] : Type
3. strong-subtype(A;A')
4. [B] : A ⟶ Type
5. eq : EqDecider(A')@i
6. d1 : A List@i
7. f1 : a:{a:A| (a ∈ d1)}  ⟶ B[a]@i
8. d : A List@i
9. g1 : a:{a:A| (a ∈ d)}  ⟶ B[a]@i
10. x : A'@i
11. [P] : a:A ⟶ B[a] ⟶ ℙ
12. [Q] : a:A ⟶ B[a] ⟶ ℙ
13. ∀x:A. ∀z:B[x].  (P[x;z] 
⇒ Q[x;z])@i
14. <d, g1> ⊆ <d1, f1>
15. eq ∈ EqDecider(A)
⊢ ((↑x ∈b d1) 
⇒ P[x;f1 x]) 
⇒ (↑x ∈b d) 
⇒ Q[x;g1 x]
Latex:
Latex:
1.  [A]  :  Type
2.  [A']  :  Type
3.  strong-subtype(A;A')
4.  [B]  :  A  {}\mrightarrow{}  Type
5.  eq  :  EqDecider(A')@i
6.  f  :  a:A  fp->  B[a]@i
7.  g  :  a:A  fp->  B[a]@i
8.  x  :  A'@i
9.  [P]  :  a:A  {}\mrightarrow{}  B[a]  {}\mrightarrow{}  \mBbbP{}
10.  [Q]  :  a:A  {}\mrightarrow{}  B[a]  {}\mrightarrow{}  \mBbbP{}
11.  \mforall{}x:A.  \mforall{}z:B[x].    (P[x;z]  {}\mRightarrow{}  Q[x;z])@i
12.  g  \msubseteq{}  f
13.  eq  \mmember{}  EqDecider(A)
\mvdash{}  z  !=  f(x)  ==>  P[x;z]  {}\mRightarrow{}  z  !=  g(x)  ==>  Q[x;z]
By
Latex:
(Unfold  `fpf-val`  0  THEN  D  7  THEN  D  6  THEN  Unfold  `fpf-dom`  0  THEN  Reduce  0)
Home
Index