取公理体系为:
L1:p->(q->p)
L2:(p->(q->r))->((p->q)->(p->r))
l3:(~p->~q)->(q->p)
证明使用MP规则:p;p->q;q
很多时候一条命题使用演绎定理很简单,而直接证明不容易构造;
那么,是否存在一种能够通过演绎定理找出直接证明的方法?
显然,在大多数时候是存在的;
这要从演绎定理的合理性谈起;
对于演绎定理前提集加入{q}的每一条语句p,都有原前提集有结论q->p;
证明引理1: {q->(p1->p2);q->p1}|- q->p2
q->(p1->p2)
(q->(p1->p2))->((q->p1)->(q->p2))
(q->p1)->(q->p2)
q->p1
q->p2
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
证明引理2: {p}|- q->p
q->(q->p)
q
q->p
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
证明引理3: |- p->p
p->((p->p)->p)
(p->((p->p)->p))->((p->(p->p))->(p->p))
(p->(p->p))->(p->p)
p->(p->p)
(p->p)
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
对于前提集加入{q}对于p的证明,用归纳证明其可以用直接证明得出q->p:
n=1: p为前提或定理或q=p;
由引理2或3,有 q->p;
假设k<n,有q->p(n)
对于n,p(n)在演绎证明中由p(i),p(j)=p(i)->p(n)得出
由假设,能找到q->p(i);q->p(j)的直接证明
由引理1,能直接证明出q->p(n)
所以按照这个方法,否定肯定律的证明就是一个有可行算法的问题啦(前提是用演绎能证明出来。。。)
反思:
(1)这个方法不能找出最少证明步骤(但是在使用演绎证明时为最优时得出的直接证明是否最优还有待研究)
(2)失去了很多思维的意义,不利于逻辑,但有利应试
(3)对于反证律和归谬律,应该也可用类似方法求直接证明;但过于复杂,明天再说吧
L1:p->(q->p)
L2:(p->(q->r))->((p->q)->(p->r))
l3:(~p->~q)->(q->p)
证明使用MP规则:p;p->q;q
很多时候一条命题使用演绎定理很简单,而直接证明不容易构造;
那么,是否存在一种能够通过演绎定理找出直接证明的方法?
显然,在大多数时候是存在的;
这要从演绎定理的合理性谈起;
对于演绎定理前提集加入{q}的每一条语句p,都有原前提集有结论q->p;
证明引理1: {q->(p1->p2);q->p1}|- q->p2
q->(p1->p2)
(q->(p1->p2))->((q->p1)->(q->p2))
(q->p1)->(q->p2)
q->p1
q->p2
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
证明引理2: {p}|- q->p
q->(q->p)
q
q->p
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
证明引理3: |- p->p
p->((p->p)->p)
(p->((p->p)->p))->((p->(p->p))->(p->p))
(p->(p->p))->(p->p)
p->(p->p)
(p->p)
这全部使用直接证明就可以证明,所以在直接证明中可以使用;
对于前提集加入{q}对于p的证明,用归纳证明其可以用直接证明得出q->p:
n=1: p为前提或定理或q=p;
由引理2或3,有 q->p;
假设k<n,有q->p(n)
对于n,p(n)在演绎证明中由p(i),p(j)=p(i)->p(n)得出
由假设,能找到q->p(i);q->p(j)的直接证明
由引理1,能直接证明出q->p(n)
所以按照这个方法,否定肯定律的证明就是一个有可行算法的问题啦(前提是用演绎能证明出来。。。)
反思:
(1)这个方法不能找出最少证明步骤(但是在使用演绎证明时为最优时得出的直接证明是否最优还有待研究)
(2)失去了很多思维的意义,不利于逻辑,但有利应试
(3)对于反证律和归谬律,应该也可用类似方法求直接证明;但过于复杂,明天再说吧