:- module (mdb.declarative_analyser).
:- interface.
:- import_module io.
:- import_module maybe.
:- import_module (mdb.declarative_debugger).
:- import_module (mdb.declarative_edt).
:- import_module (mdb.declarative_oracle).
:- import_module (mdb.declarative_user).
:- type search_mode.
:- type analyser_response(T)
	--->	analyser_response_no_suspects 
	;	analyser_response_bug_found(mdb.declarative_debugger.decl_bug, mdb.declarative_debugger.decl_evidence(T))
	;	analyser_response_oracle_question(mdb.declarative_debugger.decl_question(T))
	;	analyser_response_require_explicit_subtree(T)
	;	analyser_response_require_explicit_supertree(T)
	;	analyser_response_revise(mdb.declarative_debugger.decl_question(T)).
:- type analyser_state(T).
:- type analysis_type(T)
	--->	new_tree(T)
	;	resume_previous .
