X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=ocaml%2Fnum.ml;h=1b121efaec576a8cbd0c2ee6b3769af3902ba964;hb=137e2373f8875992898f8be0e07c4299ffbf3516;hp=d9cdf379857957bae4a871fd6b119f300f3056eb;hpb=123d64bb5ae7127f6a51cbf44b63341de001a187;p=fireball-separation.git diff --git a/ocaml/num.ml b/ocaml/num.ml index d9cdf37..1b121ef 100644 --- a/ocaml/num.ml +++ b/ocaml/num.ml @@ -120,23 +120,23 @@ end let rec string_of_term l = let rec string_of_term_w_pars l = function - | `Var(n,ar) -> print_name l n ^ (if debug_display_arities then ":" ^ string_of_int ar else "") + | `Var(n,ar) -> List.nth l n ^ (if debug_display_arities then ":" ^ string_of_int ar else "") | `N n -> string_of_int n | `I _ as t -> "(" ^ string_of_term_no_pars_app l t ^ ")" | `Lam(_,`Bottom) -> "BOMB" | `Lam _ as t -> "(" ^ string_of_term_no_pars_lam l t ^ ")" | `Match(t,(v,ar),bs_lift,bs,args) -> - "["^ string_of_var v ^ (if debug_display_arities then ":"^ string_of_int ar else "") ^",match " ^ string_of_term_no_pars l (t :> nf) ^ + "["^ List.nth l v ^ (if debug_display_arities then ":"^ string_of_int ar else "") ^",match " ^ string_of_term_no_pars l (t :> nf) ^ " with " ^ String.concat " | " (List.map (fun (n,t) -> string_of_int n ^ " => " ^ string_of_term l (lift bs_lift (t :> nf))) !bs) ^ "] " ^ String.concat " " (List.map (string_of_term l) (args :> nf list)) ^ ")" | `Bottom -> "BOT" | `Pacman -> "PAC" and string_of_term_no_pars_app l = function - | `I((n,ar), args) -> print_name l n ^ (if debug_display_arities then ":" ^ string_of_int ar else "") ^ " " ^ String.concat " " (List.map (string_of_term_w_pars l) (Listx.to_list args :> nf list)) + | `I((n,ar), args) -> List.nth l n ^ (if debug_display_arities then ":" ^ string_of_int ar else "") ^ " " ^ String.concat " " (List.map (string_of_term_w_pars l) (Listx.to_list args :> nf list)) | #nf as t -> string_of_term_w_pars l t and string_of_term_no_pars_lam l = function | `Lam(_,`Bottom) -> "BOMB" - | `Lam(_,t) -> let name = string_of_var (List.length l) in + | `Lam(_,t) -> let name = "x" ^ string_of_int (List.length l) in "λ" ^ name ^ ". " ^ (string_of_term_no_pars_lam (name::l) t) | _ as t -> string_of_term_no_pars l t and string_of_term_no_pars l = function @@ -172,6 +172,7 @@ let cast_to_i_num_var = assert false (* algorithm failed *) let rec set_arity arity = function +(* FIXME because onlt variables should be in branches of matches, one day *) | `Var(n,_) -> `Var(n,arity) | `N _ | `Bottom | `Pacman as t -> t | `Lam(false, t) -> `Lam(false, set_arity arity t)