session_itp.mli 1.9 KB
Newer Older
Clément Fumex's avatar
Clément Fumex committed
1
type session
MARCHE Claude's avatar
MARCHE Claude committed
2

Clément Fumex's avatar
Clément Fumex committed
3 4 5 6
type transID
type proofNodeID
type proof_attempt
type trans_arg
MARCHE Claude's avatar
MARCHE Claude committed
7

Clément Fumex's avatar
Clément Fumex committed
8
(* (\** New Proof sessions ("Refectoire") *\) *)
MARCHE Claude's avatar
MARCHE Claude committed
9 10 11 12 13 14 15

(* note: la fonction register des transformations doit permettre de declarer les types des arguments

  type trans_arg_type = TTint | TTstring | TTterm | TTty | TTtysymbol | TTlsymbol | TTprsymbol

*)

Clément Fumex's avatar
Clément Fumex committed
16
(* Note for big brother Andrei: grafting is the oposite of pruning *)
MARCHE Claude's avatar
MARCHE Claude committed
17

Clément Fumex's avatar
Clément Fumex committed
18 19 20
val graft_proof_attempt : session -> proofNodeID -> proof_attempt -> unit
(** [graft_proof_attempt s id pa] adds the proof attempt [pa] as a
    child of the task [id] of the session [s]. *)
MARCHE Claude's avatar
MARCHE Claude committed
21

Clément Fumex's avatar
Clément Fumex committed
22 23 24 25
val graft_transf : session -> proofNodeID -> string -> trans_arg list -> Task.task list -> unit
(** [graft_transf s id name l tl] adds the transformation [name] as a
    child of the task [id] of the session [s]. [l] is the list of argument
    of the transformation; [tl] is the resulting list of tasks *)
MARCHE Claude's avatar
MARCHE Claude committed
26

Clément Fumex's avatar
Clément Fumex committed
27 28 29
val remove_proof_attempt : session -> proofNodeID -> Whyconf.prover -> unit
(** [remove_proof_attempt s id pr] removes the proof attempt from the
    prover [pr] from the proof node [id] of the session [s] *)
MARCHE Claude's avatar
MARCHE Claude committed
30

Clément Fumex's avatar
Clément Fumex committed
31 32 33
val remove_transformation : session -> proofNodeID -> transID -> unit
(** [remove_transformation s pid tid] removes the transformation [tid] from
    the proof node [pid] of the session [s] *)
MARCHE Claude's avatar
MARCHE Claude committed
34

Clément Fumex's avatar
Clément Fumex committed
35 36
val save_session : string -> session -> unit
(** [save_session f s] Save the session [s] in file [f] *)
MARCHE Claude's avatar
MARCHE Claude committed
37

Clément Fumex's avatar
Clément Fumex committed
38 39 40
val load_session : string -> session
(** [load_session f] load a session from a file [f]; all the tasks are
    initialised to None *)
MARCHE Claude's avatar
MARCHE Claude committed
41 42 43 44 45 46 47 48
(*

  couche au-dessus: "scheduler" cad modifications asynchrones de la session

   - gere une file de travaux de modifications a faire
   - recupere les resultats de travaux , et les applique s'ils sont encore valides

*)
Clément Fumex's avatar
Clément Fumex committed
49
(*
MARCHE Claude's avatar
MARCHE Claude committed
50 51 52 53 54 55 56 57 58 59 60 61 62 63
type theory =
  {
    goals : sequence of task
  }

type file =
  {
    theories = sequence of theories
  }

type session =
  {
    session_files : set of files
  }
Clément Fumex's avatar
Clément Fumex committed
64
 *)