Step * 1 1 of Lemma apply-partial


1. Type
2. A ⟶ Type
3. Base
4. Base
5. b ∈ (partial(a:A ⟶ B[a]) × A)
6. value-type(B[snd(a)])
7. snd(a) ∈ A
8. ¬is-exception(fst(a))
9. (fst(a))↓  (fst(a) ∈ a:A ⟶ B[a])
10. (fst(a)) (snd(a)) ∈ partial(B[snd(a)])
⊢ (((fst(a)) (snd(a)))↓ ⇐⇒ ((fst(b)) (snd(b)))↓)
∧ ((fst(a)) (snd(a))) ((fst(b)) (snd(b))) ∈ B[snd(a)] supposing ((fst(a)) (snd(a)))↓
BY
((RepeatFor ((D THENA Auto)) THEN Try ((D THENA Auto)))
   THEN ((Assert (fst(a)) (fst(b)) ∈ (a:A ⟶ B[a]) BY
                Complete (((BLemma `termination-equality-base` THEN Auto)
                           THEN Try ((HasValueD (-1) THEN Complete (Auto)))
                           THEN Try ((D THEN With ⌜snd(a)⌝ (D 0)⋅ THEN Auto)))))
        ORELSE (Assert (fst(b)) (fst(a)) ∈ (a:A ⟶ B[a]) BY
                      Complete (((BLemma `termination-equality-base` THEN Auto)
                                 THEN Try ((HasValueD (-1) THEN Complete (Auto)))
                                 THEN Try ((D THEN With ⌜snd(a)⌝ (D 0)⋅ THEN Auto)))))
        )
   }

1
1. Type
2. A ⟶ Type
3. Base
4. Base
5. b ∈ (partial(a:A ⟶ B[a]) × A)
6. value-type(B[snd(a)])
7. snd(a) ∈ A
8. ¬is-exception(fst(a))
9. (fst(a))↓  (fst(a) ∈ a:A ⟶ B[a])
10. (fst(a)) (snd(a)) ∈ partial(B[snd(a)])
11. ((fst(a)) (snd(a)))↓
12. (fst(a)) (fst(b)) ∈ (a:A ⟶ B[a])
⊢ ((fst(b)) (snd(b)))↓

2
1. Type
2. A ⟶ Type
3. Base
4. Base
5. b ∈ (partial(a:A ⟶ B[a]) × A)
6. value-type(B[snd(a)])
7. snd(a) ∈ A
8. ¬is-exception(fst(a))
9. (fst(a))↓  (fst(a) ∈ a:A ⟶ B[a])
10. (fst(a)) (snd(a)) ∈ partial(B[snd(a)])
11. ((fst(b)) (snd(b)))↓
12. (fst(b)) (fst(a)) ∈ (a:A ⟶ B[a])
⊢ ((fst(a)) (snd(a)))↓

3
1. Type
2. A ⟶ Type
3. Base
4. Base
5. b ∈ (partial(a:A ⟶ B[a]) × A)
6. value-type(B[snd(a)])
7. snd(a) ∈ A
8. ¬is-exception(fst(a))
9. (fst(a))↓  (fst(a) ∈ a:A ⟶ B[a])
10. (fst(a)) (snd(a)) ∈ partial(B[snd(a)])
11. ((fst(a)) (snd(a)))↓
12. (fst(a)) (fst(b)) ∈ (a:A ⟶ B[a])
⊢ ((fst(a)) (snd(a))) ((fst(b)) (snd(b))) ∈ B[snd(a)]


Latex:


Latex:

1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  Type
3.  a  :  Base
4.  b  :  Base
5.  c  :  a  =  b
6.  value-type(B[snd(a)])
7.  snd(a)  \mmember{}  A
8.  \mneg{}is-exception(fst(a))
9.  (fst(a))\mdownarrow{}  {}\mRightarrow{}  (fst(a)  \mmember{}  a:A  {}\mrightarrow{}  B[a])
10.  (fst(a))  (snd(a))  \mmember{}  partial(B[snd(a)])
\mvdash{}  (((fst(a))  (snd(a)))\mdownarrow{}  \mLeftarrow{}{}\mRightarrow{}  ((fst(b))  (snd(b)))\mdownarrow{})
\mwedge{}  ((fst(a))  (snd(a)))  =  ((fst(b))  (snd(b)))  supposing  ((fst(a))  (snd(a)))\mdownarrow{}


By


Latex:
((RepeatFor  2  ((D  0  THENA  Auto))  THEN  Try  ((D  0  THENA  Auto)))
  THEN  ((Assert  (fst(a))  =  (fst(b))  BY
                            Complete  (((BLemma  `termination-equality-base`  THEN  Auto)
                                                  THEN  Try  ((HasValueD  (-1)  THEN  Complete  (Auto)))
                                                  THEN  Try  ((D  0  THEN  With  \mkleeneopen{}snd(a)\mkleeneclose{}  (D  0)\mcdot{}  THEN  Auto)))))
            ORELSE  (Assert  (fst(b))  =  (fst(a))  BY
                                        Complete  (((BLemma  `termination-equality-base`  THEN  Auto)
                                                              THEN  Try  ((HasValueD  (-1)  THEN  Complete  (Auto)))
                                                              THEN  Try  ((D  0  THEN  With  \mkleeneopen{}snd(a)\mkleeneclose{}  (D  0)\mcdot{}  THEN  Auto)))))
            )
  )




Home Index