1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253(* This file is free software, part of Zipperposition. See file "license" for more details. *)openLogtktypespec={sym:ID.t;ty:Type.t;}moduletypeS=sigmoduleEnv:Env.SmoduleC:moduletypeofEnv.Cvalon_add:specSignal.tvaladd:proof:Proof.parent->ID.t->Type.t->unit(** Declare that the given symbol is AC, and update the Env subsequently
by adding clauses, etc. *)valis_ac:ID.t->boolvalfind_proof:ID.t->Proof.parent(** Recover the proof for the AC-property of this symbol.
@raise Not_found if the symbol is not AC *)valsymbols:unit->ID.Set.t(** set of AC symbols *)valsymbols_of_terms:Term.tIter.t->ID.Set.t(** set of AC symbols occurring in the given term *)valexists_ac:unit->bool(** Is there any AC symbol? *)valscan_statement:Statement.clause_t->unit(** Check whether the statement contains an "AC" attribute, do the proper
declaration in this case *)(** {2 Rules} *)valis_trivial_lit:Literal.t->bool(** Is the literal AC-trivial? *)valis_trivial:C.t->bool(** Check whether the clause is AC-trivial *)valsimplify:Env.simplify_rule(** Simplify the clause modulo AC *)valsetup:unit->unit(** Register on Env *)end