;;; Dribble file "Q4" started
==================================================
Step 1 [1]
 
?- proof? * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))
 
TT0>> answer-sequent 
==================================================
Step 2 [2]
 
?- proof? * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))
 
TT0>> ->-right 
==================================================
Step 3 [2] 
 
?- 3307? * ((all x a (f x)) -> (all x a (g x)))
 
1. t952 * (all x a ((f x) -> (g x)))

TT0>> ->-right 
==================================================
Step 4 [2] 
 
?- 3365? * (all x a (g x))
 
1. t953 * (all x a (f x))
2. t952 * (all x a ((f x) -> (g x)))

TT0>> all-right 
==================================================
Step 5 [2] 
 
?- ((/. 3423? a 3425?) t954) * (g t954)
 
1. t954 * a
2. t953 * (all x a (f x))
3. t952 * (all x a ((f x) -> (g x)))

TT0>> ->-left 
==================================================
Step 6 [3] 
 
?- (/. 3423? a 3425?) * (3486? -> (g t954))
 
1. t954 * a
2. t953 * (all x a (f x))
3. t952 * (all x a ((f x) -> (g x)))

TT0>> ->-right 
==================================================
Step 7 [3] 
 
?- 3425? * (g t954)
 
1. t955 * a
2. t954 * a
3. t953 * (all x a (f x))
4. t952 * (all x a ((f x) -> (g x)))

TT0>> swap 3 4 
==================================================
Step 8 [3] 
 
?- 3425? * (g t954)
 
1. t955 * a
2. t954 * a
3. t952 * (all x a ((f x) -> (g x)))
4. t953 * (all x a (f x))

TT0>> all-left 
==================================================
Step 9 [4] 
 
?- 3779? * a
 
1. t952 * (all x a ((f x) -> (g x)))
2. t955 * a
3. t954 * a
4. t953 * (all x a (f x))

TT0>> rotate 1 2 
==================================================
Step 10 [4] 
 
?- 3425? * (g t954)
 
1. t952 * (all x a ((f x) -> (g x)))
2. (t952 3779?) * ((f 3779?) -> (g 3779?))
3. t955 * a
4. t954 * a
5. t953 * (all x a (f x))

TT0>> ->-left 
==================================================
Step 11 [5] 
 
?- 4027? * (4031? -> (g t954))
 
1. t952 * (all x a ((f x) -> (g x)))
2. (t952 3779?) * ((f 3779?) -> (g 3779?))
3. t955 * a
4. t954 * a
5. t953 * (all x a (f x))

TT0>> xtt 
==================================================
Step 12 [4] 
 
?- 4030? * (f t954)
 
1. t952 * (all x a ((f x) -> (g x)))
2. (t952 t954) * ((f t954) -> (g t954))
3. t955 * a
4. t954 * a
5. t953 * (all x a (f x))

TT0>> swap 1 5 
==================================================
Step 13 [4] 
 
?- 4030? * (f t954)
 
1. t953 * (all x a (f x))
2. (t952 t954) * ((f t954) -> (g t954))
3. t955 * a
4. t954 * a
5. t952 * (all x a ((f x) -> (g x)))

TT0>> all-left 
==================================================
Step 14 [5] 
 
?- 4339? * a
 
1. t953 * (all x a (f x))
2. (t952 t954) * ((f t954) -> (g t954))
3. t955 * a
4. t954 * a
5. t952 * (all x a ((f x) -> (g x)))

TT0>> rotate 1 2 
==================================================
Step 15 [5] 
 
?- 4030? * (f t954)
 
1. t953 * (all x a (f x))
2. (t953 4339?) * (f 4339?)
3. (t952 t954) * ((f t954) -> (g t954))
4. t955 * a
5. t954 * a
6. t952 * (all x a ((f x) -> (g x)))

TT0>> xtt 
==================================================
Step 16 [4] 
 
?- t954 * a
 
1. t953 * (all x a (f x))
2. (t952 t954) * ((f t954) -> (g t954))
3. t955 * a
4. t954 * a
5. t952 * (all x a ((f x) -> (g x)))

TT0>> xtt 
==================================================
Step 17 [3] 
 
?- t954 * a
 
1. t952 * (all x a ((f x) -> (g x)))
2. t955 * a
3. t954 * a
4. t953 * (all x a (f x))

TT0>> xtt 
==================================================
Step 18 [2] 
 
?- t954 * a
 
1. t954 * a
2. t953 * (all x a (f x))
3. t952 * (all x a ((f x) -> (g x)))

TT0>> xtt 
==================================================
Step 19 [1] 
 
?- (/. t952
    (all x a ((f x) -> (g x)))
    (/. t953
        (all x a (f x))
        (/. t955
            a
            (subst t955
                   t954
                   ((t952 t954) (t953 t954)))))) * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))
 
1. (/. t952
    (all x a ((f x) -> (g x)))
    (/. t953
        (all x a (f x))
        (/. t955
            a
            (subst t955
                   t954
                   ((t952 t954) (t953 t954)))))) * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))

TT0>> xtt 

(/. t952
    (all x a ((f x) -> (g x)))
    (/. t953
        (all x a (f x))
        (/. t955
            a ((t952 t955) (t953 t955))))) * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))

Omitting the type info.

(/. t952
  (/. t953 (/. t955 ((t952 t955) (t953 t955))))) * ((all x a ((f x) -> (g x))) ->
                            ((all x a (f x)) ->
                                             (all x a (g x))))

/. r /. p. /. x ((r x)(p x)) 
is of the type 
(all x a ((f x) -> (g x))) -> ((all x a (f x)) -> (all x a (g x))))
