equal
deleted
inserted
replaced
126 by (blast_tac (claset() addIs [less_trans, ack_less_mono2]) 1); |
126 by (blast_tac (claset() addIs [less_trans, ack_less_mono2]) 1); |
127 by (blast_tac (claset() addIs [Suc_leI RS le_less_trans, ack_less_mono2]) 1); |
127 by (blast_tac (claset() addIs [Suc_leI RS le_less_trans, ack_less_mono2]) 1); |
128 val lemma = result(); |
128 val lemma = result(); |
129 |
129 |
130 Goal "!!i j k. i<j ==> ack(i,k) < ack(j,k)"; |
130 Goal "!!i j k. i<j ==> ack(i,k) < ack(j,k)"; |
131 by (etac less_natE 1); |
131 by (dtac less_eq_Suc_add 1); |
132 by (blast_tac (claset() addSIs [lemma]) 1); |
132 by (blast_tac (claset() addSIs [lemma]) 1); |
133 qed "ack_less_mono1"; |
133 qed "ack_less_mono1"; |
134 |
134 |
135 (*PROPERTY A 7', monotonicity for<=*) |
135 (*PROPERTY A 7', monotonicity for<=*) |
136 Goal "!!i j k. i<=j ==> ack(i,k)<=ack(j,k)"; |
136 Goal "!!i j k. i<=j ==> ack(i,k)<=ack(j,k)"; |