(* Note: this requires ↑ on first n *)
(*** at_pxx_tls *)
lemma pr_pat_unit_succ_tls (n) (f):
- @â\9dªð\9d\9f\8f,fâ\9d« â\89\98 â\86\91n â\86\92 @â\9dªð\9d\9f\8f,â«°*[n]fâ\9d« ≘ 𝟏.
+ @â\9d¨ð\9d\9f\8f,fâ\9d© â\89\98 â\86\91n â\86\92 @â\9d¨ð\9d\9f\8f,â«°*[n]fâ\9d© ≘ 𝟏.
#n @(nat_ind_succ … n) -n //
#n #IH #f #Hf
elim (pr_pat_inv_unit_succ … Hf) -Hf [|*: // ] #g #Hg #H0 destruct
(* Note: this requires ↑ on third n2 *)
(*** at_tls *)
-lemma pr_pat_tls (n2) (f): ⫯⫰*[â\86\91n2]f â\89¡ â«°*[n2]f â\86\92 â\88\83i1. @â\9dªi1,fâ\9d« ≘ ↑n2.
+lemma pr_pat_tls (n2) (f): ⫯⫰*[â\86\91n2]f â\89¡ â«°*[n2]f â\86\92 â\88\83i1. @â\9d¨i1,fâ\9d© ≘ ↑n2.
#n2 @(nat_ind_succ … n2) -n2
[ /4 width=4 by pr_pat_eq_repl_back, pr_pat_refl, ex_intro/
| #n2 #IH #f <pr_tls_swap <pr_tls_swap in ⊢ (??%→?); #H
(* Note: this does not require ↑ on second and third p *)
(*** at_inv_nxx *)
lemma pr_pat_inv_succ_sn (p) (g) (i1) (j2):
- @â\9dªâ\86\91i1,gâ\9d« â\89\98 j2 â\86\92 @â\9dªð\9d\9f\8f,gâ\9d« ≘ p →
- â\88\83â\88\83i2. @â\9dªi1,â«°*[p]gâ\9d« ≘ i2 & p+i2 = j2.
+ @â\9d¨â\86\91i1,gâ\9d© â\89\98 j2 â\86\92 @â\9d¨ð\9d\9f\8f,gâ\9d© ≘ p →
+ â\88\83â\88\83i2. @â\9d¨i1,â«°*[p]gâ\9d© ≘ i2 & p+i2 = j2.
#p elim p -p
[ #g #i1 #j2 #Hg #H
elim (pr_pat_inv_unit_bi … H) -H [|*: // ] #f #H0
(* Note: this requires ↑ on first n2 *)
(*** at_inv_tls *)
lemma pr_pat_inv_succ_dx_tls (n2) (i1) (f):
- @â\9dªi1,fâ\9d« ≘ ↑n2 → ⫯⫰*[↑n2]f ≡ ⫰*[n2]f.
+ @â\9d¨i1,fâ\9d© ≘ ↑n2 → ⫯⫰*[↑n2]f ≡ ⫰*[n2]f.
#n2 @(nat_ind_succ … n2) -n2
[ #i1 #f #Hf elim (pr_pat_inv_unit_dx … Hf) -Hf // #g #H1 #H destruct
/2 width=1 by pr_eq_refl/