Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.79 KB | None | 0 0
  1. let R_trs_default_variable = variables "n,y,x" ;
  2.  
  3. let R_trs_default_signature =
  4.  signature "shuffle : 1;
  5.     _shuffle : 1;
  6.     reverse : 1;
  7.     _reverse : 1;
  8.     add : 2;
  9.     _add : 2;
  10.     nil : 0;
  11.     _nil : 0;
  12.     app : 2;
  13.     _app : 2" ;
  14.  
  15. let R_trs_default_algebra = algebra R_trs_default_signature ;
  16.  
  17. #Set_sat_solver "minisat2";
  18. let b = (((ordering_solve (order_constraints R_trs_default_algebra "    app(add(n, x), y) >= add(n, app(x, y))/\    app(nil, y) >= y/\  reverse(add(n, x)) >= app(reverse(x), add(n, nil))/\    reverse(nil) >= nil/\_shuffle(add(n, x)) > _shuffle(reverse(x))")))) and
  19.  
  20.  
  21. (((ordering_solve (order_constraints R_trs_default_algebra "_reverse(add(n, x)) > _reverse(x)")))) and
  22.  
  23.  
  24. (((ordering_solve (order_constraints R_trs_default_algebra "_app(add(n, x), y) > _app(x, y)")))) ;#verbose 3 ;
  25. b ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement