import copy
import os
import sys
S = []
P=[]
V={}
M={}
M[0]='a'
M[1]='b'
M[2]='c'
M[3]='d'
M[4]='e'
cot=1
def readFile(filePath):
global S
global cot
for line in open(filePath,encoding = 'utf-8'):
line = line.replace(' ', '').strip()
if line[0]=='(':
line=list(line)
line[0]=''
line[len(line)-1]=''
line=''.join(line)
for i in range(len(line)-2):
if line[i+1]==','and line[i]==')':
line=list(line)
line[i+1]=';'
line=''.join(line)
line = line.split(';')
for i in range(len(line)):
newele={}
str1=line[i]
for j in range(len(str1)-1):
str2=str1
if str1[j]=='(':
elename=str2[0:j]
elemem=str2[j+1:len(str1)-1]
elemem=elemem.split(',')
if elename in newele.keys():
str3=elename+'2'
newele[str3]=elemem
else:
newele[elename]=elemem
line[i]=newele
break
line.append(cot)
cot+=1
S.append(line)
def fanyi(str1):
if '!' in str1:
return str1.replace('!', '')
else:
return '!' + str1
def guijie():
global S
end=False
global cot
global index
index=0
while True:
if end:break
W=[]
for m in range(len(S)):
if len(S[m])==2:
W.append(S[m])
for m in range(len(W)):
for n in range(m+1,len(W)):
key1=list(W[m][0].keys())
key2=list(W[n][0].keys())
value1=list(W[m][0].values())
value2=list(W[n][0].values())
if key1[0]==fanyi(key2[0]) and value1[0]==value2[0]:
end=True
print('R[',end='')
print(W[m][len(W[m])-1],W[n][len(W[n])-1],end='] = []')
break
if end:
一阶谓词归结逻辑
最新推荐文章于 2023-10-10 22:33:26 发布
本文深入探讨了一阶谓词逻辑的归结原理,结合实例解析了如何运用归结法解决逻辑推理问题。通过理解源码,读者可以更好地掌握这一核心概念。
摘要由CSDN通过智能技术生成