:- module (mdbcomp.program_representation).
:- interface.
:- type arg_pos.
:- type atomic_goal_id.
:- type atomic_goal_rep.
:- type builtin_type_rep
	where	type_is_abstract_enum(2).
:- type bytecode_goal_type
	where	type_is_abstract_enum(5).
:- type call_site.
:- type call_type_and_callee.
:- type can_fail_rep
	where	type_is_abstract_enum(1).
:- type case_rep.
:- type committed_choice
	where	type_is_abstract_enum(1).
:- type cons_id_arity_rep.
:- type cons_id_rep.
:- type coverage_point_info.
:- type cp_type
	where	type_is_abstract_enum(1).
:- type detism_rep
	where	type_is_abstract_enum(3).
:- type encoded_type_table.
:- type goal_rep.
:- type head_var_rep.
:- type inst_rep
	where	type_is_abstract_enum(2).
:- type maybe_include_var_name_table
	where	type_is_abstract_enum(1).
:- type maybe_include_var_types
	where	type_is_abstract_enum(1).
:- type module_map.
:- type module_rep.
:- type oisu_type_procs.
:- type proc_defn_rep.
:- type proc_map.
:- type proc_rep.
:- type proclabel_kind_token
	where	type_is_abstract_enum(2).
:- type prog_rep.
:- type solution_count_rep
	where	type_is_abstract_enum(2).
:- type string_proc_label.
:- type switch_can_fail_rep
	where	type_is_abstract_enum(1).
:- type term_path.
:- type type_rep.
:- type var_mode_rep.
:- type var_name_table.
:- type var_num_rep
	where	type_is_abstract_enum(2).
:- type var_rep.
:- type var_type_table.
:- type case_rep(GoalAnnotation).
:- type goal_expr_rep(GoalAnnotation).
:- type goal_rep(GoalAnnotation).
:- type module_map(GoalAnnotation).
:- type module_rep(GoalAnnotation).
:- type proc_defn_rep(GoalAnnotation).
:- type proc_map(GoalAnnotation).
:- type proc_rep(GoalAnnotation).
:- type prog_rep(GoalAnnotation).
