fact: Variable AICR : forall l r sigma, R r l -> (forall p g d tau, R d g -> subterm_at_pos (apply_subst sigma l) p = Some (apply_subst tau g) -> inner R (apply_subst tau g) -> (p = nil \/ exists q, exists q', exists v, p = q ++ q' /\ subterm_at_pos l q = Some (Var v))) \/ (exists s', P_step R (inner R) s' (apply_subst sigma l) /\ rwr R (apply_subst sigma r) s').
imports: Coq(List Relations Wellfounded Arith) CoLoR(closure more_list weaved_relation term equational_theory_spec rwr_strategies dp rpo)