(**************************************************************************) (* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) (* ||I|| Developers: *) (* ||T|| The HELM team. *) (* ||A|| http://helm.cs.unibo.it *) (* \ / *) (* \ / This file is distributed under the terms of the *) (* v GNU General Public License Version 2 *) (* *) (**************************************************************************) include "delayed_updating/reduction/dfr.ma". include "delayed_updating/reduction/ifr.ma". include "delayed_updating/unwind/unwind2_constructors.ma". include "delayed_updating/unwind/unwind2_preterm_fsubst.ma". include "delayed_updating/unwind/unwind2_preterm_eq.ma". include "delayed_updating/unwind/unwind2_prototerm_lift.ma". include "delayed_updating/unwind/unwind2_rmap_closed.ma". include "delayed_updating/substitution/fsubst_eq.ma". include "delayed_updating/substitution/lift_prototerm_eq.ma". include "delayed_updating/syntax/prototerm_proper_constructors.ma". include "delayed_updating/syntax/path_closed_structure.ma". include "delayed_updating/syntax/path_structure_depth.ma". (* DELAYED FOCUSED REDUCTION ************************************************) (* Main destructions with ifr ***********************************************) theorem dfr_des_ifr (f) (t1) (t2) (r): t1 Ο΅ 𝐓 β†’ t1 ➑𝐝𝐟[r] t2 β†’ β–Ό[f]t1 ➑𝐒𝐟[βŠ—r] β–Ό[f]t2. #f #t1 #t2 #r #H0t1 * #p #q #n #Hr #Hn #Ht1 #Ht2 destruct @(ex4_3_intro … (βŠ—p) (βŠ—q) (β™­q)) [ -H0t1 -Hn -Ht1 -Ht2 // | -H0t1 -Ht1 -Ht2 /2 width=2 by path_closed_structure_depth/ | lapply (in_comp_unwind2_path_term f … Ht1) -Ht2 -Ht1 -H0t1