Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 2.98 KB | None | 0 0
  1. let R_trs_default_variable = variables "y,x" ;
  2.  
  3. let R_trs_default_signature =
  4.  signature "0 : 0;
  5.     _0 : 0;
  6.     false : 0;
  7.     _false : 0;
  8.     minus : 2;
  9.     _minus : 2;
  10.     pred : 1;
  11.     _pred : 1;
  12.     true : 0;
  13.     _true : 0;
  14.     s : 1;
  15.     _s : 1;
  16.     gcd : 2;
  17.     _gcd : 2;
  18.     le : 2;
  19.     _le : 2;
  20.     if_95_gcd : 3;
  21.     _if_95_gcd : 3" ;
  22.  
  23. let R_trs_default_algebra = algebra R_trs_default_signature ;
  24.  
  25. #Set_sat_solver "minisat2";
  26. let b = (((ordering_solve (order_constraints R_trs_default_algebra "    _if_95_gcd(false, x, y) >= _gcd(minus(y, x), x)/\   _gcd(s(x), s(y)) >= _if_95_gcd(le(y, x), s(x), s(y))/\  le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_if_95_gcd(true, x, y) > _gcd(minus(x, y), y)")) and
  27.  (((ordering_solve (order_constraints R_trs_default_algebra "   _gcd(s(x), s(y)) >= _if_95_gcd(le(y, x), s(x), s(y))/\  le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_if_95_gcd(false, x, y) > _gcd(minus(y, x), x)"))) or
  28.  
  29.  ((ordering_solve (order_constraints R_trs_default_algebra "    _if_95_gcd(false, x, y) >= _gcd(minus(y, x), x)/\   le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_gcd(s(x), s(y)) > _if_95_gcd(le(y, x), s(x), s(y))"))))) or
  30.  
  31.  ((ordering_solve (order_constraints R_trs_default_algebra "    _if_95_gcd(true, x, y) >= _gcd(minus(x, y), y)/\    _gcd(s(x), s(y)) >= _if_95_gcd(le(y, x), s(x), s(y))/\  le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_if_95_gcd(false, x, y) > _gcd(minus(y, x), x)")) and
  32.  (((ordering_solve (order_constraints R_trs_default_algebra "   _gcd(s(x), s(y)) >= _if_95_gcd(le(y, x), s(x), s(y))/\  le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_if_95_gcd(true, x, y) > _gcd(minus(x, y), y)"))) or
  33.  
  34.  ((ordering_solve (order_constraints R_trs_default_algebra "    _if_95_gcd(true, x, y) >= _gcd(minus(x, y), y)/\    le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_gcd(s(x), s(y)) > _if_95_gcd(le(y, x), s(x), s(y))"))))) or
  35.  
  36.  ((ordering_solve (order_constraints R_trs_default_algebra "    _if_95_gcd(true, x, y) >= _gcd(minus(x, y), y)/\    _if_95_gcd(false, x, y) >= _gcd(minus(y, x), x)/\   le(0, y) >= true/\  le(s(x), 0) >= false/\  le(s(x), s(y)) >= le(x, y)/\    minus(x, 0) >= x/\  minus(x, s(y)) >= pred(minus(x, y))/\   pred(s(x)) >= x/\_gcd(s(x), s(y)) > _if_95_gcd(le(y, x), s(x), s(y))")))) and
  37.  
  38.  
  39. (((ordering_solve (order_constraints R_trs_default_algebra "_minus(x, s(y)) > _minus(x, y)")))) and
  40.  
  41.  
  42. (((ordering_solve (order_constraints R_trs_default_algebra "_le(s(x), s(y)) > _le(x, y)")))) ;#verbose 3 ;
  43. b ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement