;==================================================================== ; ; examples for testing the intuitionistic prover ; ;=================================================================== (define ex '((frm (-> (- (& (a c) (b c))) (v (- (a c)) (- (b c))) )))) (define ex1 '((frm (-> (- (- (a c))) (a c)))) ) (define lo1 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x (- (g x x))) )))) (define lo2 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x y (-> (g x y) (- (g y x)))) )))) (define lo3 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x y z (-> (& (g x y) (g y z)) (g x z))) )))) (define lo4 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x (v (- (g x x)) (g x x))) )))) (define lo5 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x y z (-> (v (g x y) (g y x)) (v (v (g x z) (g z x)) (v (g y z) (g z y))))) )))) (define lo6 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x y (-> (g x y) (- (g y x)))) )))) (define lo7 '((frm (-> (& (all x y (- (& (g x y) (g y x)))) (all x y z (-> (g x y) (v (g x z) (g z y)))) ) (all x y z (-> (& (g x y) (- (g z y))) (g x z))))))) ;(define lo8 ; '((frm ; (-> (& ; (all x y (- (& (g x y) (g y x)))) ; (all x y z (-> (g x y) (v (g x z) (g z y)))) ; ) ; (-> (- (- (g a b))) (g a b)) )))) ;(define lo8 ; '((frm ; (-> (& ; (all x y (- (& (g x y) (g y x)))) ; (all x y z (-> (g x y) (v (g x z) (g z y)))) ; (all x (- (g 0 x))) ; (all x (- (g x 1))) ; ( ; ) ; (-> (- (- (g a b))) (g a b)) )))) (define lom1 '((frm (-> (& (all x y z (-> (v (g x y) (g y x)) (v (v (g x z) (g z x)) (v (g y z) (g z y))))) (all x y z (-> (& (g x y) (g y z)) (g x z))) ) (all x y z (-> (g x y) (v (g x z) (g z y)))) )))) (define ax1 '( (all x (- (dipt x x))) (all x (- (diln x x))) (all x (- (con x x))) (all x y z (-> (dipt x y) (v (dipt x z) (dipt y z))) ) (all x y z (-> (diln x y) (v (diln x z) (diln y z))) ) (all x y z (-> (con x y) (v (con x z) (con y z))) ))) (define ax2 '( (all x y (-> (dipt x y) (- (apt x (ln x y)))) ) (all x y (-> (dipt x y) (- (apt y (ln x y)))) ) (all x y (-> (con x y) (- (apt (pt x y) x))) ) (all x y (-> (con x y) (- (apt (pt x y) y))) ))) (define ax3 '( (all x y u v (-> (& (dipt x y) (diln u v)) (v (v (apt x u) (apt x v)) (v (apt y u) (apt y v)) ))))) (define ax4 '( (all x y z (-> (apt x y) (v (dipt x z) (apt z y))) ) (all x y z (-> (apt x y) (v (diln y z) (apt x z))) ) (all x y z (-> (con x y) (v (diln y z) (con x z))) ))) ; 3.1 proved in 158 sec (define thm3.1 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4) (all x y u (-> (& (dipt x y) (& (- (apt x u)) (- (apt y u)))) (- (diln u (ln x y))) )) )))) ; 3.1 proved in 158 sec (define thm3.1.1 `((frm (-> (& ;,@ax1 ,@ax2 ,@ax3 ) ;,@ax4) (all x y u (-> (& (dipt x y) (& (- (apt x u)) (- (apt y u)))) (- (diln u (ln x y))) )) )))) ; 3.2 proved in 188 sec (define thm3.2 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4) (all x y z (-> (& (con x y) (- (apt z x)) (- (apt z y))) (- (dipt z (pt x y))) )) )))) ; 3.2.1 proved in 1.5 sec (define thm3.2.1 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (all x y (-> (con x y) (diln x y))) ) (all x y z (-> (& (con x y) (- (apt z x)) (- (apt z y))) (- (dipt z (pt x y))) )) )))) (define thm3.2.2 `((frm (-> (& ,@ax1 ;,@ax2 ;,@ax3 ,@ax4 (all x y (-> (con x y) (diln x y))) ) (all x y z (-> (& (con x y) (- (apt z x)) (- (apt z y))) (- (dipt z (pt x y))) )) )))) ; 3.3 proved in 1.3 sec (define thm3.3 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4) (all x y (-> (con x y) (diln x y))) )))) ; thm4.1.i.1 proved in 1.3 sec (define thm4.1.i.1 `((frm (-> (& ; ,@ax1 ,@ax2 ,@ax3 ; ,@ax4 (dipt a b) (con l m) (diln l (ln a b)) ) (v (apt a l) (apt b l)) )))) ; thm4.1.i.1-full not proved in ca 18 hours. (define thm4.1.i.1-full `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (diln l (ln a b)) ) (v (apt a l) (apt b l)) )))) ; thm4.1.i-full proved in ... (define thm4.1.i-full `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (v (apt a l) (apt b l)) ) (diln l (ln a b)) )))) ; thm4.1.i.2 proved in 1.58 sec (define thm4.1.i.2 `((frm (-> (& ; ,@ax1 ,@ax2 ; ,@ax3 ,@ax4 (dipt a b) (con l m) (v (apt a l) (apt b l)) ) (diln l (ln a b)) )))) ; thm4.1.ii.1 proved in 1.8 seconds (define thm4.1.ii.1 `((frm (-> (& ; ,@ax1 ,@ax2 ,@ax3 ; ,@ax4 (dipt a b) (con l m) (diln l m) (dipt a (pt l m)) ) (v (apt a l) (apt a m)) )))) ; thm4.1.ii.2 proved in 1.3 seconds (define thm4.1.ii.2 `((frm (-> (& ; ,@ax1 ,@ax2 ; ,@ax3 ,@ax4 (dipt a b) (con l m) (v (apt a l) (apt a m)) ) (dipt a (pt l m)) )))) ; thm4.2 proof not found (too hard) (define thm4.2 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt c d) ) (-> (v (apt a (ln c d)) (apt b (ln c d))) (v (apt c (ln a b)) (apt d (ln a b))) ))))) ; thm4.2.a shown not provable in 1.2 sec (define thm4.2.a `((frm (-> (& ; ,@ax1 ; ,@ax2 ; ,@ax3 ; ,@ax4 (all x (-> (diln x (ln a b)) (v (apt a x) (apt b x)))) (all x (-> (v (apt a x) (apt b x)) (diln x (ln a b)))) (-> (diln (ln c d) (ln a b)) (diln (ln a b) (ln c d))) ) ; (dipt a b) ; (dipt c d) (-> (v (apt a (ln c d)) (apt b (ln c d))) (v (apt c (ln a b)) (apt d (ln a b))) ))))) ; thm4.2.b proved in 64 sec ; uses lemma 4.1.i (define thm4.2.b `((frm (-> (& ,@ax1 ;,@ax2 ;,@ax3 ;,@ax4 (all y u (-> (dipt y u) (& (all x (-> (diln x (ln y u)) (v (apt y x) (apt u x)))) (all x (-> (v (apt y x) (apt u x)) (diln x (ln y u)))) ))) ;(all x y u v ; (-> (diln (ln x y) (ln u v)) (diln (ln u v) (ln x y))) ) (dipt a b) (dipt c d) ) (-> (v (apt a (ln c d)) (apt b (ln c d))) (v (apt c (ln a b)) (apt d (ln a b))) ))))) ; thm4.3.i proved in 37 sec. (define thm4.3.i `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (apt c (ln a b)) ) (& (dipt c a) (dipt c b)) )))) ; thm4.3.i.b proved in 1 sec. (define thm4.3.i.b ; ax1 and ax3 unnecessary `((frm (-> (& ; ,@ax1 ,@ax2 ; ,@ax3 ,@ax4 (dipt a b) (apt c (ln a b)) ) (& (dipt c a) (dipt c b)) )))) ; thm4.3.ii proved in ???? (define thm4.3.ii `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (apt c (ln a b)) ) (& (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) ))))) ; thm4.3.ii.b proved in 1.4 sec (define thm4.3.ii.b ; ax1 and ax3 unnecessary (important!) `((frm (-> (& ; ,@ax1 ,@ax2 ; ,@ax3 ,@ax4 (dipt a b) (apt c (ln a b)) ) (& (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) ))))) (define thm4.4.i ; no success without extra assumptions `((frm (-> (& ,@ax1 ; ,@ax2 ,@ax3 ; ,@ax4 (dipt a b) ; success with the following three added: ;(- (apt a (ln a b))) ;(- (apt b (ln a b))) ;(- (apt b (ln c b))) ; following two come from ax2: (all x y (-> (dipt x y) (- (apt x (ln x y)))) ) (all x y (-> (dipt x y) (- (apt y (ln x y)))) ) ; (dipt c a) ; following four axioms: lemma 4.3, one MP applied. (dipt c b) ; (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) (apt c (ln a b)) ) (apt a (ln c b)) )))) (define thm4.4.i.test `((frm (-> (& ; ,@ax1 ; (all x (- (dipt x x))) ; ,@ax2 ,@ax3 ; ,@ax4 (dipt a b) ; success with the following three added: ;(- (apt a (ln a b))) ;(- (apt b (ln a b))) ;(- (apt b (ln c b))) ; following two come from ax2: (all x y (-> (dipt x y) (- (apt x (ln x y)))) ) (all x y (-> (dipt x y) (- (apt y (ln x y)))) ) ; following is thm4.3.i: (all x y z (-> (& (dipt x y) (apt z (ln x y)) ) (& (dipt z x) (dipt z y)) )) ; following is thm4.3.ii: (all x y z (-> (& (dipt x y) (apt z (ln x y)) ) (& (diln (ln x y) (ln z x)) (diln (ln x y) (ln z y)) ))) ;(dipt c a) ; following four axioms: lemma 4.3, one MP applied. ;(dipt c b) (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) (apt c (ln a b)) ) (apt a (ln c b)) )))) (define thm4.4.i.hyper `( (sos ((dipt a b)) ((apt c (ln a b))) ; ; ((diln (ln a b) (ln c a))) ; ; ((diln (ln a b) (ln c b))) ((-dipt x y)(-apt z (ln x y)) (dipt z x)) ((-dipt x y)(-apt z (ln x y)) (dipt z y)) ((-dipt x y)(-apt z (ln x y)) (diln (ln x y) (ln z x))) ((-dipt x y)(-apt z (ln x y)) (diln (ln x y) (ln z y))) ) (frm (-> (& ,@ax3 (dipt a b) (apt c (ln a b)) ; (dipt c a) ; (dipt c b) ; (diln (ln a b) (ln c a)) ; (diln (ln a b) (ln c b)) ; ,@ax1 ; (all x (- (dipt x x))) ; ,@ax2 ; ,@ax3 ; ,@ax4 ; (dipt a b) ; success with the following three added: ;(- (apt a (ln a b))) ;(- (apt b (ln a b))) ;(- (apt b (ln c b))) ; following two come from ax2: (all x y (-> (dipt x y) (- (apt x (ln x y)))) ) (all x y (-> (dipt x y) (- (apt y (ln x y)))) ) ) ; following is thm4.3.i: ;(all x y z ; (-> (& (dipt x y) ; (apt z (ln x y)) ) ; (& (dipt z x) (dipt z y)) )) ; following is thm4.3.ii: ;(all x y z ; (-> (& (dipt x y) ; (apt z (ln x y)) ) ; (& (diln (ln x y) (ln z x)) ; (diln (ln x y) (ln z y)) ))) ;(dipt c a) ; following four axioms: lemma 4.3, one MP applied. ;(dipt c b) ;(diln (ln a b) (ln c a)) ;(diln (ln a b) (ln c b)) ; (apt c (ln a b)) ) (apt a (ln c b)) )))) (define thm4.4.ii ; no success `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt c a) ; following four axioms: lemma 4.3, one MP applied. (dipt c b) (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) (apt c (ln a b)) ) (apt b (ln a c)) )))) (define thm4.4.iii ; no success `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt c a) ; following four axioms: lemma 4.3, one MP applied. (dipt c b) (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) (apt c (ln a b)) ) (apt c (ln b a)) )))) ; lemma 4.1: ;(all y u ; (-> (dipt y u) ; (& ; (all x (-> (diln x (ln y u)) (v (apt y x) (apt u x)))) ; (all x (-> (v (apt y x) (apt u x)) (diln x (ln y u)))) ))) ; (all y u ; (-> (con y u) ; (& ; (all x (-> (dipt x (pt y u)) (v (apt x y) (apt x u)))) ; (all x (-> (v (apt x y) (apt x u)) (dipt x (pt y u)))) ))) ; thm4.5.i1 proved in ca 12.3 sec (define thm4.5.i1 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (- (apt a l)) (- (apt b l)) ) (- (diln l (ln a b))) )))) ; thm thm4.5.i2 proved in 0.6 sec (define thm4.5.i2 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (- (diln l (ln a b))) ) (& (- (apt a l)) (- (apt b l)) ))))) ; thm4.5.ii1 proved in ca 12.6 sec (define thm4.5.ii1 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (- (apt a l)) (- (apt a m)) ) (- (dipt a (pt l m))) )))) ; thm thm4.5.ii2 proved in ca 1 second (define thm4.5.ii2 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (con l m) (- (dipt a (pt l m))) ) (& (- (apt a l)) (- (apt a m)) ))))) ; thm thm4.6 proof not found in 10 minutes (define thm4.6 `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt c d) (- (apt a (ln c d))) (- (apt b (ln c d))) ) (& (- (apt c (ln a b))) (- (apt d (ln a b))) ))))) ; thm thm4.6b proved in 5 sec (define thm4.6b `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt c d) (- (apt a (ln c d))) (- (apt b (ln c d))) ; lemma 4.2: (all xa xb xc xd (-> (& (dipt xa xb) (dipt xc xd) ) (-> (v (apt xa (ln xc xd)) (apt xb (ln xc xd))) (v (apt xc (ln xa xb)) (apt xd (ln xa xb))) ))) ) (& (- (apt c (ln a b))) (- (apt d (ln a b))) ))))) ; thm4.7i proved in 7 sec (define thm4.7i `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt a c) (dipt b c) (- (apt c (ln a b))) ; lemma 4.6: (all xa xb xc xd (-> (& (dipt xa xb) (dipt xc xd) ) (-> (& (- (apt xa (ln xc xd))) (- (apt xb (ln xc xd)))) (& (- (apt xc (ln xa xb))) (- (apt xd (ln xa xb)))) ))) ; lemma 4.2: ;(all xa xb xc xd ; (-> (& (dipt xa xb) ; (dipt xc xd) ) ; (-> (v (apt xa (ln xc xd)) (apt xb (ln xc xd))) ; (v (apt xc (ln xa xb)) (apt xd (ln xa xb))) ))) ) (- (apt a (ln c b))) )))) ; thm4.7ii proved in 7 seconds (define thm4.7ii `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt a c) (dipt b c) (- (apt c (ln a b))) ; lemma 4.6: (all xa xb xc xd (-> (& (dipt xa xb) (dipt xc xd) ) (-> (& (- (apt xa (ln xc xd))) (- (apt xb (ln xc xd)))) (& (- (apt xc (ln xa xb))) (- (apt xd (ln xa xb)))) ))) ) (- (apt b (ln a c))) )))) ; thm4.7iii proved in 6.3 sec (define thm4.7iii `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) (dipt a c) (dipt b c) (- (apt c (ln a b))) ; 4.7i: (- (apt a (ln c b))) ; 4.7ii: (- (apt b (ln a c))) ; lemma 4.6: (all xa xb xc xd (-> (& (dipt xa xb) (dipt xc xd) ) (-> (& (- (apt xa (ln xc xd))) (- (apt xb (ln xc xd)))) (& (- (apt xc (ln xa xb))) (- (apt xd (ln xa xb)))) ))) ) (- (apt c (ln b a))) )))) ;------------------------------------------------------------- (define thm5.1 ; no success `((frm (-> (& ,@ax1 ,@ax2 ,@ax3 ,@ax4 (dipt a b) ; following two: lemma 4.5.i (-> (- (diln l (ln a b))) (& (- (apt a l)) (- (apt b l)))) (-> (& (- (apt a l)) (- (apt b l))) (- (diln l (ln a b)))) ) (- (diln (ln a b) (ln b a))) )))) ;--------------------------------------------------------------------- (define ax1p '(& (all x (- (dipt x x))) (all x (- (diln x x))) (all x (- (con x x))) (all x y z (-> (dipt x y) (v (dipt x z) (dipt y z))) ) (all x y z (-> (diln x y) (v (diln x z) (diln y z))) ) (all x y z (-> (con x y) (v (con x z) (con y z))) ))) (define ax2p '(& (all x y (-> (dipt x y) (- (apt x (ln x y)))) ) (all x y (-> (dipt x y) (- (apt y (ln x y)))) ) (all x y (-> (con x y) (- (apt (pt x y) x))) ) (all x y (-> (con x y) (- (apt (pt x y) y))) ))) (define ax3p ' (all x y u v (-> (& (dipt x y) (diln u v)) (v (v (apt x u) (apt x v)) (v (apt y u) (apt y v)) )))) (define ax4p '(& (all x y z (-> (apt x y) (v (dipt x z) (apt z y))) ) (all x y z (-> (apt x y) (v (diln y z) (apt x z))) ) (all x y z (-> (con x y) (v (diln y z) (con x z))) ))) ; 3.1 proved in 158 sec (define thm3.1p `((frm (all x y u (-> (& (dipt x y) (& (- (apt x u)) (- (apt y u)))) (- (diln u (ln x y))) )) ))) ; 3.2 proved in 188 sec (define thm3.2p `((frm (all x y z (-> (& (con x y) (- (apt z x)) (- (apt z y))) (- (dipt z (pt x y))) )) ))) ; 3.3 proved in 1.3 sec (define thm3.3p `((frm (all x y (-> (con x y) (diln x y))) ))) ; thm4.1.i.1 proved in 1.3 sec (define thm4.1.i.1p `((frm (-> (& (dipt a b) (con l m) (diln l (ln a b)) ) (v (apt a l) (apt b l)) )))) ; thm4.1.i.1-full not proved in ca 18 hours. ; thm4.1.i.2 proved in 1.58 sec (define thm4.1.i.2p `((frm (-> (& (dipt a b) (con l m) (v (apt a l) (apt b l)) ) (diln l (ln a b)) )))) ; thm4.1.ii.1 proved in 1.8 seconds (define thm4.1.ii.1p `((frm (-> (& (dipt a b) (con l m) (diln l m) (dipt a (pt l m)) ) (v (apt a l) (apt a m)) )))) ; thm4.1.ii.2 proved in 1.3 seconds (define thm4.1.ii.2p `((frm (-> (& (dipt a b) (con l m) (v (apt a l) (apt a m)) ) (dipt a (pt l m)) )))) (define thm4.2p `((frm (-> (& (dipt a b) (dipt c d) ) (-> (v (apt a (ln c d)) (apt b (ln c d))) (v (apt c (ln a b)) (apt d (ln a b))) ))))) (define thm4.3.i.p `((frm (-> (& (dipt a b) (apt c (ln a b)) ) (& (dipt c a) (dipt c b)) )))) (define thm4.3.i.b.p ; ax1 and ax3 unnecessary `((frm (-> (& (dipt a b) (apt c (ln a b)) ) (& (dipt c a) (dipt c b)) )))) (define thm4.3.ii.b.p ; ax1 and ax3 unnecessary (important!) `((frm (-> (& (dipt a b) (apt c (ln a b)) ) (& (diln (ln a b) (ln c a)) (diln (ln a b) (ln c b)) ))))) ;---------------------------------------------------------- (define (i100 x) (int-prove x 9999999 100)) (define (i60 x) (int-prove x 9999999 60)) (define (i50 x) (int-prove x 9999999 50)) (define (i30 x) (int-prove x 9999999 30)) (define (i0 x) (int-prove x 9999999 0)) (define (prbup) (load "resintprb.scm")) (verbose 2) (require 'pretty-print) ;(define *make-int-frm-axioms-strat* #t) ; nonatomic axioms to be created?? ;#f (set! *make-int-frm-axioms-strat* #f) ;(define *make-int-instantiated-axioms-strat* #t) ; only instances created?? ;(define *int-prepare-sos-strat* #t) ; optimizing the initial sos ;(define *int-label-atoms-strat* #f) ; label atoms? ;(define *int-inversion-stratflag* #t) ; use invertibility? ; ;(define *int-reduction-strat* #t) ; use reductions? ;(define *int-use-unique-atoms-flag* #f) ; analyse uniqueness of atoms ;(define *int-prohibited-pr-strat* #t) ; test nesting, etc?