(* *)
(**************************************************************************)
-include "delayed_updating/syntax/path_depth.ma".
-include "delayed_updating/syntax/path_structure.ma".
-include "delayed_updating/syntax/path_balanced.ma".
-include "delayed_updating/syntax/prototerm_constructors.ma".
include "delayed_updating/substitution/fsubst.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 FOCUSED REDUCTION ************************************************)
-inductive dfr (p) (q) (t): predicate prototerm โ
-| dfr_beta (b):
- let r โ pโ๐โbโ๐โq in
- rโ๐ฑ(โโqโ) ฯต t โ โ(โb) โ dfr p q t (t[โrโ๐(โโqโ).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
- "focused balanced reduction with delayed updating (prototerm)"
+ "focused reduction with delayed updating (prototerm)"
'BlackRightArrowDF t1 p q t2 = (dfr p q t1 t2).