(* Main constructions with stream_eq ****************************************)
-(* Note: a better statement would be: tr_eq_repl … (λf1,f2. f1@❨i❩ = f2@❨i❩) *)
(*** apply_eq_repl *)
-theorem apply_eq_repl (i):
- ∀f1,f2. f1 ≗ f2 → f1@❨i❩ = f2@❨i❩.
+theorem tr_pap_eq_repl (i):
+ stream_eq_repl … (λf1,f2. f1@⧣❨i❩ = f2@⧣❨i❩).
#i elim i -i [2: #i #IH ] * #p1 #f1 * #p2 #f2 #H
elim (stream_eq_inv_cons_bi … H) -H [1,8: |*: // ] #Hp #Hf //
-<tr_pap_succ <tr_pap_succ /3 width=1 by eq_f2/
+<tr_cons_pap_succ <tr_cons_pap_succ /3 width=1 by eq_f2/
qed.
(* Main inversions with stream_eq *******************************************)
corec theorem nstream_eq_inv_ext:
- ∀f1,f2. (∀i. f1@❨i❩ = f2@❨i❩) → f1 ≗ f2.
+ ∀f1,f2. (∀i. f1@⧣❨i❩ = f2@⧣❨i❩) → f1 ≗ f2.
* #p1 #f1 * #p2 #f2 #Hf @stream_eq_cons
[ @(Hf (𝟏))
| @nstream_eq_inv_ext -nstream_eq_inv_ext #i
- lapply (Hf (𝟏)) <tr_pap_unit <tr_pap_unit #H destruct
- lapply (Hf (↑i)) <tr_pap_succ <tr_pap_succ #H
+ lapply (Hf (𝟏)) <tr_cons_pap_unit <tr_cons_pap_unit #H destruct
+ lapply (Hf (↑i)) <tr_cons_pap_succ <tr_cons_pap_succ #H
/3 width=2 by eq_inv_pplus_bi_dx, eq_inv_psucc_bi/
]
qed-.