Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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
- #[['NOT p(X,f(X))', 'p(g(X,a),f(U))'], ['NOT q(h(X),Y)', 'p(g(X,a),f(U))']] <-- dane=[]
- #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
- #[['p(X)', 'p(Y)', 'q(X,Y)', 'r(a,b)'], ['q(X)', 'q(a)', 'NOT p(X)'], ['p(X)', 'r(X)']]
- dane = [['NOT p(X,f(X))', 'p(g(X,a),f(U))'], ['NOT q(h(X),Y)', 'p(g(X,a),f(U))']]
- zmienne = []
- stale = []
- for i in range (len(dane)):
- for j in range(len(dane[i])):
- for k in range(len(dane[i][j])):
- 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'):
- if dane[i][j][k] not in zmienne:
- zmienne.append(dane[i][j][k])
- elif (ord(dane[i][j][k])>=97 and ord(dane[i][j][k])<=101):
- if dane[i][j][k] not in stale:
- stale.append(dane[i][j][k])
- print(stale)
- print(zmienne)
- print('-------------------')
- pary_wykorzystane = []
- for i in range (len(dane)-1):
- predykaty1 = []
- for z in range(len(dane[i])):
- if (dane[i][z][0] == 'N'):
- predykaty1.append('NOT '+ dane[i][z][4])
- else:
- predykaty1.append(dane[i][z][0])
- for j in range (i+1,len(dane)):
- predykaty2 = []
- for z in range(len(dane[j])):
- if (dane[j][z][0] == 'N'):
- predykaty2.append('NOT ' + dane[j][z][4])
- else:
- predykaty2.append(dane[j][z][0])
- if [i,j] not in pary_wykorzystane:
- pary_wykorzystane.append([i,j])
- print(predykaty1)
- print(predykaty2)
- print("==========")
- for a in range (len(predykaty1)):
- if predykaty1[a][0] == 'N':
- if predykaty1[a][4] in predykaty2:
- print('JEST')
- else:
- print('NIE MA')
- else:
- if 'NOT '+ predykaty1[a][0] in predykaty2:
- print('JEST')
- else:
- print('NIE MA')
- print(pary_wykorzystane)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement