Theoretical Computer Science 155(1), Elsevier (1996), pp. 85-109.
*)
inductive lsred: ptr → relation term ≝
Theoretical Computer Science 155(1), Elsevier (1996), pp. 85-109.
*)
inductive lsred: ptr → relation term ≝
| lsred_abst : ∀p,A1,A2. lsred p A1 A2 → lsred (sn::p) (𝛌.A1) (𝛌.A2)
| lsred_appl_sn: ∀p,B1,B2,A. lsred p B1 B2 → lsred (sn::p) (@B1.A) (@B2.A)
| lsred_appl_dx: ∀p,B,A1,A2. lsred p A1 A2 → lsred (dx::p) (@B.A1) (@B.A2)
| lsred_abst : ∀p,A1,A2. lsred p A1 A2 → lsred (sn::p) (𝛌.A1) (𝛌.A2)
| lsred_appl_sn: ∀p,B1,B2,A. lsred p B1 B2 → lsred (sn::p) (@B1.A) (@B2.A)
| lsred_appl_dx: ∀p,B,A1,A2. lsred p A1 A2 → lsred (dx::p) (@B.A1) (@B.A2)
-lemma lsred_inv_nil: â\88\80p,M,N. M â\87\80[p] N → ◊ = p →
- â\88\83â\88\83B,A. @B. ð\9d\9b\8c.A = M & [â¬\90B] A = N.
+lemma lsred_inv_nil: â\88\80p,M,N. M â\86¦[p] N → ◊ = p →
+ â\88\83â\88\83B,A. @B. ð\9d\9b\8c.A = M & [â\86\99B] A = N.
-lemma lsred_inv_sn: â\88\80p,M,N. M â\87\80[p] N → ∀q. sn::q = p →
- (â\88\83â\88\83A1,A2. A1 â\87\80[q] A2 & 𝛌.A1 = M & 𝛌.A2 = N) ∨
- â\88\83â\88\83B1,B2,A. B1 â\87\80[q] B2 & @B1.A = M & @B2.A = N.
+lemma lsred_inv_sn: â\88\80p,M,N. M â\86¦[p] N → ∀q. sn::q = p →
+ (â\88\83â\88\83A1,A2. A1 â\86¦[q] A2 & 𝛌.A1 = M & 𝛌.A2 = N) ∨
+ â\88\83â\88\83B1,B2,A. B1 â\86¦[q] B2 & @B1.A = M & @B2.A = N.
-lemma lsred_inv_dx: â\88\80p,M,N. M â\87\80[p] N → ∀q. dx::q = p →
- â\88\83â\88\83B,A1,A2. A1 â\87\80[q] A2 & @B.A1 = M & @B.A2 = N.
+lemma lsred_inv_dx: â\88\80p,M,N. M â\86¦[p] N → ∀q. dx::q = p →
+ â\88\83â\88\83B,A1,A2. A1 â\86¦[q] A2 & @B.A1 = M & @B.A2 = N.
#p #M #N #H elim H -p -M -N
[ #B #A @(le_to_lt_to_lt … (#{A}*#{B})) //
normalize /3 width=1 by lt_minus_to_plus_r, lt_times/ (**) (* auto: too slow without trace *)
#p #M #N #H elim H -p -M -N
[ #B #A @(le_to_lt_to_lt … (#{A}*#{B})) //
normalize /3 width=1 by lt_minus_to_plus_r, lt_times/ (**) (* auto: too slow without trace *)