-(lift (S i) O t)) (lift (S (trans hds0 i)) O (ctrans hds0 i t))))))).(\lambda
-(i: nat).(\lambda (t: T).(eq_ind_r T (lift (S (trans hds0 i)) O (ctrans hds0
-i t)) (\lambda (t0: T).(eq T (lift h d t0) (lift (S (match (blt (trans hds0
-i) d) with [true \Rightarrow (trans hds0 i) | false \Rightarrow (plus (trans
-hds0 i) h)])) O (match (blt (trans hds0 i) d) with [true \Rightarrow (lift h
-(minus d (S (trans hds0 i))) (ctrans hds0 i t)) | false \Rightarrow (ctrans
-hds0 i t)])))) (xinduction bool (blt (trans hds0 i) d) (\lambda (b: bool).(eq
-T (lift h d (lift (S (trans hds0 i)) O (ctrans hds0 i t))) (lift (S (match b
-with [true \Rightarrow (trans hds0 i) | false \Rightarrow (plus (trans hds0
-i) h)])) O (match b with [true \Rightarrow (lift h (minus d (S (trans hds0
-i))) (ctrans hds0 i t)) | false \Rightarrow (ctrans hds0 i t)])))) (\lambda
-(x_x: bool).(bool_ind (\lambda (b: bool).((eq bool (blt (trans hds0 i) d) b)
-\to (eq T (lift h d (lift (S (trans hds0 i)) O (ctrans hds0 i t))) (lift (S
-(match b with [true \Rightarrow (trans hds0 i) | false \Rightarrow (plus
-(trans hds0 i) h)])) O (match b with [true \Rightarrow (lift h (minus d (S
-(trans hds0 i))) (ctrans hds0 i t)) | false \Rightarrow (ctrans hds0 i
-t)]))))) (\lambda (H0: (eq bool (blt (trans hds0 i) d) true)).(eq_ind_r nat
-(plus (S (trans hds0 i)) (minus d (S (trans hds0 i)))) (\lambda (n: nat).(eq
-T (lift h n (lift (S (trans hds0 i)) O (ctrans hds0 i t))) (lift (S (trans
-hds0 i)) O (lift h (minus d (S (trans hds0 i))) (ctrans hds0 i t)))))
+(lift (S i) O t)) (lift (S (trans hds0 i)) O (lift1 (ptrans hds0 i)
+t))))))).(\lambda (i: nat).(\lambda (t: T).(eq_ind_r T (lift (S (trans hds0
+i)) O (lift1 (ptrans hds0 i) t)) (\lambda (t0: T).(eq T (lift h d t0) (lift
+(S (match (blt (trans hds0 i) d) with [true \Rightarrow (trans hds0 i) |
+false \Rightarrow (plus (trans hds0 i) h)])) O (lift1 (match (blt (trans hds0
+i) d) with [true \Rightarrow (PCons h (minus d (S (trans hds0 i))) (ptrans
+hds0 i)) | false \Rightarrow (ptrans hds0 i)]) t)))) (xinduction bool (blt
+(trans hds0 i) d) (\lambda (b: bool).(eq T (lift h d (lift (S (trans hds0 i))
+O (lift1 (ptrans hds0 i) t))) (lift (S (match b with [true \Rightarrow (trans
+hds0 i) | false \Rightarrow (plus (trans hds0 i) h)])) O (lift1 (match b with
+[true \Rightarrow (PCons h (minus d (S (trans hds0 i))) (ptrans hds0 i)) |
+false \Rightarrow (ptrans hds0 i)]) t)))) (\lambda (x_x: bool).(bool_ind
+(\lambda (b: bool).((eq bool (blt (trans hds0 i) d) b) \to (eq T (lift h d
+(lift (S (trans hds0 i)) O (lift1 (ptrans hds0 i) t))) (lift (S (match b with
+[true \Rightarrow (trans hds0 i) | false \Rightarrow (plus (trans hds0 i)
+h)])) O (lift1 (match b with [true \Rightarrow (PCons h (minus d (S (trans
+hds0 i))) (ptrans hds0 i)) | false \Rightarrow (ptrans hds0 i)]) t)))))
+(\lambda (H0: (eq bool (blt (trans hds0 i) d) true)).(eq_ind_r nat (plus (S
+(trans hds0 i)) (minus d (S (trans hds0 i)))) (\lambda (n: nat).(eq T (lift h
+n (lift (S (trans hds0 i)) O (lift1 (ptrans hds0 i) t))) (lift (S (trans hds0
+i)) O (lift1 (PCons h (minus d (S (trans hds0 i))) (ptrans hds0 i)) t))))