Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. # X Y X X f/1 p/2 NOT X a g/2 X Y i/2 f/1 p/2 NOT OR X h/1 Y q/2 NOT X a g/2 X Y i/2 f/1 p/2 NOT OR AND FORALL FORALL
  2. #[['NOT p(X,f(X))', 'p(g(X,a),f(U))'], ['NOT q(h(X),Y)', 'p(g(X,a),f(U))']] <-- dane=[]
  3. #X Y X p/1 Y p/1 OR X Y q/2 OR a b r/2 OR X q/1 a q/1 X p/1 NOT OR OR AND X p/1 X r/1 OR AND FORALL FORALL
  4. #[['p(X)', 'p(Y)', 'q(X,Y)', 'r(a,b)'], ['q(X)', 'q(a)', 'NOT p(X)'], ['p(X)', 'r(X)']]
  5.  
  6. dane = [['NOT p(X,f(X))', 'p(g(X,a),f(U))'], ['NOT q(h(X),Y)', 'p(g(X,a),f(U))']]
  7. zmienne = []
  8. stale = []
  9. for i in range (len(dane)):
  10. for j in range(len(dane[i])):
  11. for k in range(len(dane[i][j])):
  12. if (ord(dane[i][j][k])>=65 and ord(dane[i][j][k])<=90 and dane[i][j][k]!='N' and dane[i][j][k]!='O' and dane[i][j][k]!='T'):
  13. if dane[i][j][k] not in zmienne:
  14. zmienne.append(dane[i][j][k])
  15. elif (ord(dane[i][j][k])>=97 and ord(dane[i][j][k])<=101):
  16. if dane[i][j][k] not in stale:
  17. stale.append(dane[i][j][k])
  18. print(stale)
  19. print(zmienne)
  20. print('-------------------')
  21. pary_wykorzystane = []
  22. for i in range (len(dane)-1):
  23. predykaty1 = []
  24. for z in range(len(dane[i])):
  25. if (dane[i][z][0] == 'N'):
  26. predykaty1.append('NOT '+ dane[i][z][4])
  27. else:
  28. predykaty1.append(dane[i][z][0])
  29. for j in range (i+1,len(dane)):
  30. predykaty2 = []
  31. for z in range(len(dane[j])):
  32. if (dane[j][z][0] == 'N'):
  33. predykaty2.append('NOT ' + dane[j][z][4])
  34. else:
  35. predykaty2.append(dane[j][z][0])
  36. if [i,j] not in pary_wykorzystane:
  37. pary_wykorzystane.append([i,j])
  38. print(predykaty1)
  39. print(predykaty2)
  40. print("==========")
  41.  
  42. for a in range (len(predykaty1)):
  43. if predykaty1[a][0] == 'N':
  44. if predykaty1[a][4] in predykaty2:
  45. print('JEST')
  46. else:
  47. print('NIE MA')
  48.  
  49. else:
  50. if 'NOT '+ predykaty1[a][0] in predykaty2:
  51. print('JEST')
  52. else:
  53. print('NIE MA')
  54.  
  55.  
  56.  
  57. print(pary_wykorzystane)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement