Theory Ground_Term_Order
theory Ground_Term_Order
imports
Ground_Context
Context_Compatible_Order
Term_Order_Notation
Transitive_Closure_Extra
begin
locale context_compatible_ground_order = context_compatible_order where Fun = GFun
locale subterm_property =
strict_order where less = less⇩t
for less⇩t :: "'f gterm ⇒ 'f gterm ⇒ bool" +
assumes
subterm_property [simp]: "⋀t c. c ≠ □ ⟹ less⇩t t c⟨t⟩⇩G"
begin
interpretation term_order_notation.
lemma less_eq_subterm_property: "t ≼⇩t c⟨t⟩⇩G"
using subterm_property
by (metis gctxt_ident_iff_eq_GHole reflclp_iff)
end
locale ground_term_order =
wellfounded_strict_order less⇩t +
total_strict_order less⇩t +
context_compatible_ground_order less⇩t +
subterm_property less⇩t
for less⇩t :: "'f gterm ⇒ 'f gterm ⇒ bool"
begin
interpretation term_order_notation.
end
end