+++ /dev/null
-module type Discriminator = sig\r
- type t\r
- val magic: string list -> string list -> t\r
- val magic_conv: div:(string option) -> conv:string list -> nums:string list -> string list -> t\r
- val main: t list -> unit\r
-end\r
let zero = Listx.Nil zero in
let args = if n = 0 then zero else Listx.append zero (Listx.from_list vars) in
let bs = ref [] in
- let arity1 = (assert false; -666) in
- let arity2 = (assert false; -666) in
+ let arity1 = (*assert false; -666*) 0 in
+ let arity2 = (*assert false; -666*) 0 in
let inst = `Lam(false,arity1,`Match(`I(0,Listx.map (lift 1) args),arity2,1,bs,[])) in
let p = {p with deltas=bs::p.deltas} in
subst_in_problem x inst p
-include Discriminator.Discriminator\r
+type t\r
+val magic: string list -> string list -> t\r
+val magic_conv: div:(string option) -> conv:string list -> nums:string list -> string list -> t\r
+val main: t list -> unit\r
-let use_lambda3 = Array.length Sys.argv = 1;;
-
-let discriminator = ( module Lambda4 : Discriminator.Discriminator );;
-module Pippo = (val discriminator);;
-open Pippo;;
+open Lambda4;;
let p2 = magic [ "x y"; "x z" ; "x (y z)"] ["*"]
main ([
(* p2 ; p4 ; p5 ; p6 ; p7 ; p8 ; p9 ; p10 ; p11 ; p12 ; p13 ; p14 ; p15 ; p16 ; p17 ; p18 ; p19 ; p20 ; p21 ; p22 ; p23 ; p24 ; p25 ; p26 ; p27 ; p28 ; p29 ; p30 ; p31 ; p32 ; p33 ; p34 ; p35 ; p36 ; p37 ; *)
p24 ; p25 ;
-] @ if use_lambda3 then [] else List.map ((|>) ()) [
+] @ List.map ((|>) ()) [
q1 ; q2; q3; q4 ; q5 ; q6 ;
(* q7 ; *)
q8 ;
-let three = Array.length Sys.argv = 1;;
-
-let discriminator =
- (* if three *)
- (* then (module Lambda3 : Discriminator.Discriminator) *)
- (* else *)
- (module Lambda4 : Discriminator.Discriminator);;
-
-module Pippo = (val discriminator);;
-open Pippo;;
+open Lambda4;;
let acaso l =
let n = Random.int (List.length l) in