(*** tl_eq_repl *)
lemma pr_tl_eq_repl:
- pr_eq_repl â\80¦ (λf1,f2. â«°f1 â\89¡ ⫰f2).
+ pr_eq_repl â\80¦ (λf1,f2. â«°f1 â\89\90 ⫰f2).
#f1 #f2 * -f1 -f2 //
qed.
(*** eq_inv_gen *)
lemma pr_eq_inv_gen (g1) (g2):
- g1 â\89¡ g2 →
- â\88¨â\88¨ â\88§â\88§ â«°g1 â\89¡ ⫰g2 & ⫯⫰g1 = g1 & ⫯⫰g2 = g2
- | â\88§â\88§ â«°g1 â\89¡ ⫰g2 & ↑⫰g1 = g1 & ↑⫰g2 = g2.
+ g1 â\89\90 g2 →
+ â\88¨â\88¨ â\88§â\88§ â«°g1 â\89\90 ⫰g2 & ⫯⫰g1 = g1 & ⫯⫰g2 = g2
+ | â\88§â\88§ â«°g1 â\89\90 ⫰g2 & ↑⫰g1 = g1 & ↑⫰g2 = g2.
#g1 #g2 * -g1 -g2 #f1 #f2 #g1 #g2 #f * *
/3 width=1 by and3_intro, or_introl, or_intror/
qed-.
(*** pr_eq_inv_px *)
lemma pr_eq_inv_push_sn (g1) (g2):
- g1 â\89¡ g2 → ∀f1. ⫯f1 = g1 →
- â\88§â\88§ f1 â\89¡ ⫰g2 & ⫯⫰g2 = g2.
+ g1 â\89\90 g2 → ∀f1. ⫯f1 = g1 →
+ â\88§â\88§ f1 â\89\90 ⫰g2 & ⫯⫰g2 = g2.
#g1 #g2 #H #f1 #Hf1
elim (pr_eq_inv_gen … H) -H * #Hg #Hg1 #Hg2 destruct
[ /2 width=1 by conj/
(*** pr_eq_inv_nx *)
lemma pr_eq_inv_next_sn (g1) (g2):
- g1 â\89¡ g2 → ∀f1. ↑f1 = g1 →
- â\88§â\88§ f1 â\89¡ ⫰g2 & ↑⫰g2 = g2.
+ g1 â\89\90 g2 → ∀f1. ↑f1 = g1 →
+ â\88§â\88§ f1 â\89\90 ⫰g2 & ↑⫰g2 = g2.
#g1 #g2 #H #f1 #Hf1
elim (pr_eq_inv_gen … H) -H * #Hg #Hg1 #Hg2 destruct
[ elim (eq_inv_pr_push_next … Hg1)
(*** pr_eq_inv_xp *)
lemma pr_eq_inv_push_dx (g1) (g2):
- g1 â\89¡ g2 → ∀f2. ⫯f2 = g2 →
- â\88§â\88§ â«°g1 â\89¡ f2 & ⫯⫰g1 = g1.
+ g1 â\89\90 g2 → ∀f2. ⫯f2 = g2 →
+ â\88§â\88§ â«°g1 â\89\90 f2 & ⫯⫰g1 = g1.
#g1 #g2 #H #f2 #Hf2
elim (pr_eq_inv_gen … H) -H * #Hg #Hg1 #Hg2 destruct
[ /2 width=1 by conj/
(*** pr_eq_inv_xn *)
lemma pr_eq_inv_next_dx (g1) (g2):
- g1 â\89¡ g2 → ∀f2. ↑f2 = g2 →
- â\88§â\88§ â«°g1 â\89¡ f2 & ↑⫰g1 = g1.
+ g1 â\89\90 g2 → ∀f2. ↑f2 = g2 →
+ â\88§â\88§ â«°g1 â\89\90 f2 & ↑⫰g1 = g1.
#g1 #g2 #H #f2 #Hf2
elim (pr_eq_inv_gen … H) -H * #Hg #Hg1 #Hg2 destruct
[ elim (eq_inv_pr_push_next … Hg2)
(*** pr_eq_inv_pp *)
lemma pr_eq_inv_push_bi (g1) (g2):
- g1 â\89¡ g2 â\86\92 â\88\80f1,f2. ⫯f1 = g1 â\86\92 ⫯f2 = g2 â\86\92 f1 â\89¡ f2.
+ g1 â\89\90 g2 â\86\92 â\88\80f1,f2. ⫯f1 = g1 â\86\92 ⫯f2 = g2 â\86\92 f1 â\89\90 f2.
#g1 #g2 #H #f1 #f2 #H1
elim (pr_eq_inv_push_sn … H … H1) -g1 #Hx2 * #H
lapply (eq_inv_pr_push_bi … H) -H //
(*** pr_eq_inv_nn *)
lemma pr_eq_inv_next_bi (g1) (g2):
- g1 â\89¡ g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 f1 â\89¡ f2.
+ g1 â\89\90 g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 f1 â\89\90 f2.
#g1 #g2 #H #f1 #f2 #H1
elim (pr_eq_inv_next_sn … H … H1) -g1 #Hx2 * #H
lapply (eq_inv_pr_next_bi … H) -H //
(*** pr_eq_inv_pn *)
lemma pr_eq_inv_push_next (g1) (g2):
- g1 â\89¡ g2 → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 → ⊥.
+ g1 â\89\90 g2 → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 → ⊥.
#g1 #g2 #H #f1 #f2 #H1
elim (pr_eq_inv_push_sn … H … H1) -g1 #Hx2 * #H
elim (eq_inv_pr_next_push … H)
(*** pr_eq_inv_np *)
lemma pr_eq_inv_next_push (g1) (g2):
- g1 â\89¡ g2 → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 → ⊥.
+ g1 â\89\90 g2 → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 → ⊥.
#g1 #g2 #H #f1 #f2 #H1
elim (pr_eq_inv_next_sn … H … H1) -g1 #Hx2 * #H
elim (eq_inv_pr_push_next … H)