Step
*
of Lemma
Wleq-Wadd2
∀[A:Type]. ∀[B:A ⟶ Type].
  ∀zero:A ⟶ 𝔹. ((∀a:A. (¬↑(zero a) 
⇐⇒ B[a])) 
⇒ (∀w3,w2,w1:W(A;a.B[a]).  ((w2 ≤  w3) 
⇒ ((w1 + w2) ≤  (w1 + w3)))))
BY
{ (RepeatFor 4 ((D 0 THENA Auto))
   THEN RepeatFor 2 (UseWInductionLemma)
   THEN RecUnfold `Wadd` 0
   THEN Unfold `Wsup` 0
   THEN Reduce 0
   THEN Fold `Wsup` 0
   THEN RepeatFor 2 (AutoSplit)) }
1
1. [A] : Type
2. [B] : A ⟶ Type
3. zero : A ⟶ 𝔹
4. ∀a:A. (¬↑(zero a) 
⇐⇒ B[a])
5. a : A
6. f : B[a] ⟶ W(A;a.B[a])
7. ∀b:B[a]. ∀w2,w1:W(A;a.B[a]).  ((w2 ≤  (f b)) 
⇒ ((w1 + w2) ≤  (w1 + f b)))
8. a@0 : A
9. f@0 : B[a@0] ⟶ W(A;a.B[a])
10. ∀b:B[a@0]. ∀w1:W(A;a.B[a]).  (((f@0 b) ≤  Wsup(a;f)) 
⇒ ((w1 + f@0 b) ≤  (w1 + Wsup(a;f))))
11. ↑(zero a@0)
12. ↑(zero a)
⊢ ∀w1:W(A;a.B[a]). ((Wsup(a@0;f@0) ≤  Wsup(a;f)) 
⇒ (w1 ≤  w1))
2
1. [A] : Type
2. [B] : A ⟶ Type
3. zero : A ⟶ 𝔹
4. ∀a:A. (¬↑(zero a) 
⇐⇒ B[a])
5. a : A
6. ¬↑(zero a)
7. f : B[a] ⟶ W(A;a.B[a])
8. ∀b:B[a]. ∀w2,w1:W(A;a.B[a]).  ((w2 ≤  (f b)) 
⇒ ((w1 + w2) ≤  (w1 + f b)))
9. a@0 : A
10. f@0 : B[a@0] ⟶ W(A;a.B[a])
11. ∀b:B[a@0]. ∀w1:W(A;a.B[a]).  (((f@0 b) ≤  Wsup(a;f)) 
⇒ ((w1 + f@0 b) ≤  (w1 + Wsup(a;f))))
12. ↑(zero a@0)
⊢ ∀w1:W(A;a.B[a]). ((Wsup(a@0;f@0) ≤  Wsup(a;f)) 
⇒ (w1 ≤  Wsup(a;λx.(w1 + f x))))
3
1. [A] : Type
2. [B] : A ⟶ Type
3. zero : A ⟶ 𝔹
4. ∀a:A. (¬↑(zero a) 
⇐⇒ B[a])
5. a : A
6. f : B[a] ⟶ W(A;a.B[a])
7. ∀b:B[a]. ∀w2,w1:W(A;a.B[a]).  ((w2 ≤  (f b)) 
⇒ ((w1 + w2) ≤  (w1 + f b)))
8. a@0 : A
9. ¬↑(zero a@0)
10. f@0 : B[a@0] ⟶ W(A;a.B[a])
11. ∀b:B[a@0]. ∀w1:W(A;a.B[a]).  (((f@0 b) ≤  Wsup(a;f)) 
⇒ ((w1 + f@0 b) ≤  (w1 + Wsup(a;f))))
12. ↑(zero a)
⊢ ∀w1:W(A;a.B[a]). ((Wsup(a@0;f@0) ≤  Wsup(a;f)) 
⇒ (Wsup(a@0;λx.(w1 + f@0 x)) ≤  w1))
4
1. [A] : Type
2. [B] : A ⟶ Type
3. zero : A ⟶ 𝔹
4. ∀a:A. (¬↑(zero a) 
⇐⇒ B[a])
5. a : A
6. ¬↑(zero a)
7. f : B[a] ⟶ W(A;a.B[a])
8. ∀b:B[a]. ∀w2,w1:W(A;a.B[a]).  ((w2 ≤  (f b)) 
⇒ ((w1 + w2) ≤  (w1 + f b)))
9. a@0 : A
10. ¬↑(zero a@0)
11. f@0 : B[a@0] ⟶ W(A;a.B[a])
12. ∀b:B[a@0]. ∀w1:W(A;a.B[a]).  (((f@0 b) ≤  Wsup(a;f)) 
⇒ ((w1 + f@0 b) ≤  (w1 + Wsup(a;f))))
⊢ ∀w1:W(A;a.B[a]). ((Wsup(a@0;f@0) ≤  Wsup(a;f)) 
⇒ (Wsup(a@0;λx.(w1 + f@0 x)) ≤  Wsup(a;λx.(w1 + f x))))
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].
    \mforall{}zero:A  {}\mrightarrow{}  \mBbbB{}
        ((\mforall{}a:A.  (\mneg{}\muparrow{}(zero  a)  \mLeftarrow{}{}\mRightarrow{}  B[a]))
        {}\mRightarrow{}  (\mforall{}w3,w2,w1:W(A;a.B[a]).    ((w2  \mleq{}    w3)  {}\mRightarrow{}  ((w1  +  w2)  \mleq{}    (w1  +  w3)))))
By
Latex:
(RepeatFor  4  ((D  0  THENA  Auto))
  THEN  RepeatFor  2  (UseWInductionLemma)
  THEN  RecUnfold  `Wadd`  0
  THEN  Unfold  `Wsup`  0
  THEN  Reduce  0
  THEN  Fold  `Wsup`  0
  THEN  RepeatFor  2  (AutoSplit))
Home
Index