Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1.  
  2. public static String formalize (String expr) {
  3.  
  4. String S = "";
  5.  
  6. for (int i = 0; i < expr.length(); i++) {
  7.  
  8. switch(expr.charAt(i)){
  9.  
  10. case('n'):
  11.  
  12. switch(expr.charAt(i + 4)){
  13.  
  14. case('f'):
  15. S += "NA";
  16. S += (expr.charAt(i + 12));
  17. i = i + 13;
  18. break;
  19.  
  20. default:
  21. S += "N";
  22. S += (expr.charAt( i + 4));
  23. i = i + 5;
  24. break;
  25.  
  26. }
  27. break;
  28.  
  29. case('f'):
  30. S += "A";
  31. S += (expr.charAt(i + 8));
  32. i = i + 9;
  33. break;
  34.  
  35. case('t'):
  36. switch(expr.charAt(i + 9)){
  37.  
  38. case('n'):
  39. S += "NE";
  40. S += (expr.charAt(i + 12));
  41. i = i + 21;
  42. break;
  43.  
  44. default:
  45. S += "E";
  46. S += (expr.charAt( i + 11 ));
  47. i = i + 20;
  48. break;
  49. }
  50. break;
  51. }
  52. }
  53. return S;
  54. }
  55.  
  56. public static String naturalize (String expr) {
  57.  
  58. String Z = "";
  59. for (int j = 0; j < expr.length(); j++) {
  60.  
  61. switch(expr.charAt(j)){
  62.  
  63. case('N'):
  64.  
  65. switch(expr.charAt(j + 1)) {
  66.  
  67. case('A'):
  68. Z += " not for all ";
  69. Z += (expr.charAt(j + 2));
  70. j = j + 2;
  71. break;
  72.  
  73. case('E'):
  74. Z += " there is no ";
  75. Z += (expr.charAt(j + 2));
  76. Z += " so that";
  77. j = j + 2;
  78. break;
  79.  
  80. default:
  81. Z += " not";
  82. break;
  83. }
  84. break;
  85.  
  86. case('E'):
  87. Z += " there is a ";
  88. Z += (expr.charAt(j + 1));
  89. Z += " so that";
  90. j = j + 1;
  91. break;
  92.  
  93. case('A'):
  94. Z += " for all ";
  95. Z += (expr.charAt(j + 1));
  96. j = j + 1;
  97. break;
  98.  
  99. default:
  100. Z += " ";
  101. Z += (expr.charAt(j));
  102. break;
  103. }
  104.  
  105. }
  106. return Z.substring(1);
  107. }
  108.  
  109. public static String normalize (String expr) {
  110.  
  111. String N = "";
  112. for (int l = 0; l < expr.length(); l++) {
  113. for (int k = 0; k < expr.length(); k++) {
  114.  
  115. switch(expr.charAt(k )){
  116.  
  117. case('N'):
  118. //System.out.print(k+ " ");
  119. switch(expr.charAt(k + 1)) {
  120. case('A'):
  121. N += "E";
  122. N += (expr.charAt(k + 2));
  123. N += "N";
  124. k = k + 2;
  125. break;
  126. case('E'):
  127. N += "A";
  128. N += (expr.charAt(k + 2));
  129. N += "N";
  130. k = k + 2;
  131. break;
  132. case('N'):
  133.  
  134. k = k + 1;
  135. break;
  136.  
  137. case('P'):
  138. N += "NP";
  139. k++;
  140. default:
  141. k++;
  142. break;
  143.  
  144. }
  145. break;
  146.  
  147. case('E'):
  148. N += "E";
  149. N += (expr.charAt(k + 1));
  150. k = k + 1;
  151. break;
  152.  
  153. case('A'):
  154. N += "A";
  155. N += (expr.charAt(k + 1));
  156. k = k + 1;
  157. break;
  158.  
  159. case('P'):
  160. N += "P";
  161.  
  162. break;
  163.  
  164.  
  165. }
  166.  
  167.  
  168. }
  169. expr = N;
  170. N = "";
  171.  
  172. }
  173. return expr;
  174. }
  175.  
  176.  
  177. public static void main(String args[]) {
  178.  
  179. String expr = formalize ("not for all x there is a y so that for all z there is no w so that not P");
  180. System.out.println(expr);
  181. System.out.println(naturalize (expr));
  182. System.out.println(normalize (expr));
  183. }
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement