Module Th_data.A

module S : sig ... end
module Cstor : sig ... end
val as_datatype : S.T.Ty.t -> (Cstor.t Iter.tS.T.Ty.t) Sidekick_th_data.data_ty_view
val mk_sel : S.T.Term.store -> Cstor.t -> int -> S.T.Term.t -> S.T.Term.t
val ty_is_finite : S.T.Ty.t -> bool
val ty_set_is_finite : S.T.Ty.t -> bool -> unit
val lemma_isa_cstor : cstor_t:S.T.Term.t -> S.T.Term.t -> S.P.t -> S.P.proof_step
val lemma_select_cstor : cstor_t:S.T.Term.t -> S.T.Term.t -> S.P.t -> S.P.proof_step
val lemma_isa_split : S.T.Term.t -> S.Lit.t Iter.t -> S.P.t -> S.P.proof_step
val lemma_isa_sel : S.T.Term.t -> S.P.t -> S.P.proof_step
val lemma_isa_disj : S.Lit.t -> S.Lit.t -> S.P.t -> S.P.proof_step
val lemma_cstor_inj : S.T.Term.t -> S.T.Term.t -> int -> S.P.t -> S.P.proof_step
val lemma_cstor_distinct : S.T.Term.t -> S.T.Term.t -> S.P.t -> S.P.proof_step
val lemma_acyclicity : (S.T.Term.t * S.T.Term.t) Iter.t -> S.P.t -> S.P.proof_step