(* *)
(**************************************************************************)
-include "ground/xoa/ex_3_1.ma".
-include "delayed_updating/syntax/path_structure.ma".
-include "delayed_updating/syntax/path_balanced.ma".
include "delayed_updating/substitution/fsubst.ma".
-(*
-include "delayed_updating/notation/functions/pitchforkleftarrow_3.ma".
-*)
+include "delayed_updating/syntax/prototerm_constructors.ma".
+include "delayed_updating/syntax/prototerm_eq.ma".
+include "delayed_updating/syntax/path_head.ma".
+include "delayed_updating/syntax/path_depth.ma".
+include "delayed_updating/syntax/path_reverse.ma".
+include "delayed_updating/notation/relations/black_rightarrow_df_4.ma".
-(* DELAYED FOCALIZED REDUCTION **********************************************)
+(* DELAYED FOCUSED REDUCTION ************************************************)
-inductive dfr (p) (q) (t): predicate preterm โ
-| dfr_beta (b) (n):
- let r โ p;;(๐;b;;(๐;q,๐ฑโจnโฉ)) in
- r ฯต t โ โโb โ dfr p q t (t[โrโtโp,๐ฆ])
+definition dfr (p) (q): relation2 prototerm prototerm โ
+ ฮปt1,t2. โn:pnat.
+ let r โ pโ๐โ๐โq in
+ โงโง (๐โq)แดฟ = โณ[n](rแดฟ) & rโ๐ฑn ฯต t1 &
+ t1[โrโ๐n.(t1โ(pโ๐ฆ))] โ t2
.
-(*
+
interpretation
- "focalized substitution (preterm)"
- 'PitchforkLeftArrow t p u = (fsubst p u t).
-*)
+ "focused reduction with delayed updating (prototerm)"
+ 'BlackRightArrowDF t1 p q t2 = (dfr p q t1 t2).