@@ -749,9 +749,8 @@ theorem pred_le_iff {j : Fin n} {i : Fin (n + 1)} (hi : i ≠ 0) : pred i hi ≤
749
749
theorem le_pred_iff {j : Fin n} {i : Fin (n + 1 )} (hi : i ≠ 0 ) : j ≤ pred i hi ↔ succ j ≤ i := by
750
750
rw [← succ_le_succ_iff, succ_pred]
751
751
752
- theorem castSucc_pred_eq_pred_castSucc {a : Fin (n + 1 )} (ha : a ≠ 0 )
753
- (ha' := castSucc_ne_zero_iff.mpr ha) :
754
- (a.pred ha).castSucc = (castSucc a).pred ha' := rfl
752
+ theorem castSucc_pred_eq_pred_castSucc {a : Fin (n + 1 )} (ha : a ≠ 0 ) :
753
+ (a.pred ha).castSucc = (castSucc a).pred (castSucc_ne_zero_iff.mpr ha) := rfl
755
754
756
755
theorem castSucc_pred_add_one_eq {a : Fin (n + 1 )} (ha : a ≠ 0 ) :
757
756
(a.pred ha).castSucc + 1 = a := by
@@ -964,8 +963,8 @@ lemma succAbove_castSucc_of_le (p i : Fin n) (h : p ≤ i) : succAbove p.castSuc
964
963
@[simp] lemma succAbove_castSucc_self (j : Fin n) : succAbove j.castSucc j = j.succ :=
965
964
succAbove_castSucc_of_le _ _ Fin.le_rfl
966
965
967
- lemma succAbove_pred_of_lt (p i : Fin (n + 1 )) (h : p < i)
968
- (hi := Fin.ne_of_gt <| Fin.lt_of_le_of_lt p.zero_le h) : succAbove p (i.pred hi ) = i := by
966
+ lemma succAbove_pred_of_lt (p i : Fin (n + 1 )) (h : p < i) :
967
+ succAbove p (i.pred ( Fin.ne_of_gt <| Fin.lt_of_le_of_lt p.zero_le h)) = i := by
969
968
rw [succAbove_of_lt_succ _ _ (succ_pred _ _ ▸ h), succ_pred]
970
969
971
970
lemma succAbove_pred_of_le (p i : Fin (n + 1 )) (h : i ≤ p) (hi : i ≠ 0 ) :
@@ -974,8 +973,8 @@ lemma succAbove_pred_of_le (p i : Fin (n + 1)) (h : i ≤ p) (hi : i ≠ 0) :
974
973
@[simp] lemma succAbove_pred_self (p : Fin (n + 1 )) (h : p ≠ 0 ) :
975
974
succAbove p (p.pred h) = (p.pred h).castSucc := succAbove_pred_of_le _ _ Fin.le_rfl h
976
975
977
- lemma succAbove_castPred_of_lt (p i : Fin (n + 1 )) (h : i < p)
978
- (hi := Fin.ne_of_lt <| Nat.lt_of_lt_of_le h p.le_last) : succAbove p (i.castPred hi ) = i := by
976
+ lemma succAbove_castPred_of_lt (p i : Fin (n + 1 )) (h : i < p) :
977
+ succAbove p (i.castPred ( Fin.ne_of_lt <| Nat.lt_of_lt_of_le h p.le_last)) = i := by
979
978
rw [succAbove_of_castSucc_lt _ _ (castSucc_castPred _ _ ▸ h), castSucc_castPred]
980
979
981
980
lemma succAbove_castPred_of_le (p i : Fin (n + 1 )) (h : p ≤ i) (hi : i ≠ last n) :
@@ -1176,23 +1175,23 @@ def predAbove (p : Fin n) (i : Fin (n + 1)) : Fin n :=
1176
1175
then pred i (Fin.ne_zero_of_lt h)
1177
1176
else castPred i (Fin.ne_of_lt <| Fin.lt_of_le_of_lt (Fin.not_lt.1 h) (castSucc_lt_last _))
1178
1177
1179
- lemma predAbove_of_le_castSucc (p : Fin n) (i : Fin (n + 1 )) (h : i ≤ castSucc p)
1180
- (hi := Fin.ne_of_lt <| Fin.lt_of_le_of_lt h <| castSucc_lt_last _) :
1181
- p.predAbove i = i.castPred hi := dif_neg <| Fin.not_lt.2 h
1178
+ lemma predAbove_of_le_castSucc (p : Fin n) (i : Fin (n + 1 )) (h : i ≤ castSucc p) :
1179
+ p.predAbove i = i.castPred ( Fin.ne_of_lt <| Fin.lt_of_le_of_lt h <| castSucc_lt_last _) :=
1180
+ dif_neg <| Fin.not_lt.2 h
1182
1181
1183
- lemma predAbove_of_lt_succ (p : Fin n) (i : Fin (n + 1 )) (h : i < succ p)
1184
- (hi := Fin.ne_last_of_lt h) : p.predAbove i = i.castPred hi :=
1182
+ lemma predAbove_of_lt_succ (p : Fin n) (i : Fin (n + 1 )) (h : i < succ p) :
1183
+ p.predAbove i = i.castPred (Fin.ne_last_of_lt h) :=
1185
1184
predAbove_of_le_castSucc _ _ (le_castSucc_iff.mpr h)
1186
1185
1187
- lemma predAbove_of_castSucc_lt (p : Fin n) (i : Fin (n + 1 )) (h : castSucc p < i)
1188
- (hi := Fin.ne_zero_of_lt h) : p.predAbove i = i.pred hi := dif_pos h
1186
+ lemma predAbove_of_castSucc_lt (p : Fin n) (i : Fin (n + 1 )) (h : castSucc p < i) :
1187
+ p.predAbove i = i.pred (Fin.ne_zero_of_lt h) := dif_pos h
1189
1188
1190
- lemma predAbove_of_succ_le (p : Fin n) (i : Fin (n + 1 )) (h : succ p ≤ i)
1191
- (hi := Fin.ne_of_gt <| Fin.lt_of_lt_of_le (succ_pos _) h) :
1192
- p.predAbove i = i.pred hi := predAbove_of_castSucc_lt _ _ (castSucc_lt_iff_succ_le.mpr h)
1189
+ lemma predAbove_of_succ_le (p : Fin n) (i : Fin (n + 1 )) (h : succ p ≤ i) :
1190
+ p.predAbove i = i.pred ( Fin.ne_of_gt <| Fin.lt_of_lt_of_le (succ_pos _) h) :=
1191
+ predAbove_of_castSucc_lt _ _ (castSucc_lt_iff_succ_le.mpr h)
1193
1192
1194
- lemma predAbove_succ_of_lt (p i : Fin n) (h : i < p) (hi := succ_ne_last_of_lt h) :
1195
- p.predAbove (succ i) = (i.succ).castPred hi := by
1193
+ lemma predAbove_succ_of_lt (p i : Fin n) (h : i < p) :
1194
+ p.predAbove (succ i) = (i.succ).castPred (succ_ne_last_of_lt h) := by
1196
1195
rw [predAbove_of_lt_succ _ _ (succ_lt_succ_iff.mpr h)]
1197
1196
1198
1197
lemma predAbove_succ_of_le (p i : Fin n) (h : p ≤ i) : p.predAbove (succ i) = i := by
@@ -1201,8 +1200,8 @@ lemma predAbove_succ_of_le (p i : Fin n) (h : p ≤ i) : p.predAbove (succ i) =
1201
1200
@[simp] lemma predAbove_succ_self (p : Fin n) : p.predAbove (succ p) = p :=
1202
1201
predAbove_succ_of_le _ _ Fin.le_rfl
1203
1202
1204
- lemma predAbove_castSucc_of_lt (p i : Fin n) (h : p < i) (hi := castSucc_ne_zero_of_lt h) :
1205
- p.predAbove (castSucc i) = i.castSucc.pred hi := by
1203
+ lemma predAbove_castSucc_of_lt (p i : Fin n) (h : p < i) :
1204
+ p.predAbove (castSucc i) = i.castSucc.pred (castSucc_ne_zero_of_lt h) := by
1206
1205
rw [predAbove_of_castSucc_lt _ _ (castSucc_lt_castSucc_iff.2 h)]
1207
1206
1208
1207
lemma predAbove_castSucc_of_le (p i : Fin n) (h : i ≤ p) : p.predAbove (castSucc i) = i := by
@@ -1211,24 +1210,25 @@ lemma predAbove_castSucc_of_le (p i : Fin n) (h : i ≤ p) : p.predAbove (castSu
1211
1210
@[simp] lemma predAbove_castSucc_self (p : Fin n) : p.predAbove (castSucc p) = p :=
1212
1211
predAbove_castSucc_of_le _ _ Fin.le_rfl
1213
1212
1214
- lemma predAbove_pred_of_lt (p i : Fin (n + 1 )) (h : i < p) (hp := Fin.ne_zero_of_lt h)
1215
- (hi := Fin.ne_last_of_lt h) : (pred p hp ).predAbove i = castPred i hi := by
1213
+ lemma predAbove_pred_of_lt (p i : Fin (n + 1 )) (h : i < p) :
1214
+ (pred p ( Fin.ne_zero_of_lt h)).predAbove i = castPred i (Fin.ne_last_of_lt h) := by
1216
1215
rw [predAbove_of_lt_succ _ _ (succ_pred _ _ ▸ h)]
1217
1216
1218
- lemma predAbove_pred_of_le (p i : Fin (n + 1 )) (h : p ≤ i) (hp : p ≠ 0 )
1219
- (hi := Fin.ne_of_gt <| Fin.lt_of_lt_of_le (Fin.pos_iff_ne_zero.2 hp) h) :
1220
- (pred p hp).predAbove i = pred i hi := by rw [predAbove_of_succ_le _ _ (succ_pred _ _ ▸ h)]
1217
+ lemma predAbove_pred_of_le (p i : Fin (n + 1 )) (h : p ≤ i) (hp : p ≠ 0 ) :
1218
+ (pred p hp).predAbove i =
1219
+ pred i (Fin.ne_of_gt <| Fin.lt_of_lt_of_le (Fin.pos_iff_ne_zero.2 hp) h) := by
1220
+ rw [predAbove_of_succ_le _ _ (succ_pred _ _ ▸ h)]
1221
1221
1222
1222
lemma predAbove_pred_self (p : Fin (n + 1 )) (hp : p ≠ 0 ) : (pred p hp).predAbove p = pred p hp :=
1223
1223
predAbove_pred_of_le _ _ Fin.le_rfl hp
1224
1224
1225
- lemma predAbove_castPred_of_lt (p i : Fin (n + 1 )) (h : p < i) (hp := Fin.ne_last_of_lt h)
1226
- (hi := Fin.ne_zero_of_lt h) : (castPred p hp ).predAbove i = pred i hi := by
1225
+ lemma predAbove_castPred_of_lt (p i : Fin (n + 1 )) (h : p < i) :
1226
+ (castPred p ( Fin.ne_last_of_lt h)).predAbove i = pred i (Fin.ne_zero_of_lt h) := by
1227
1227
rw [predAbove_of_castSucc_lt _ _ (castSucc_castPred _ _ ▸ h)]
1228
1228
1229
- lemma predAbove_castPred_of_le (p i : Fin (n + 1 )) (h : i ≤ p) (hp : p ≠ last n)
1230
- (hi := Fin.ne_of_lt <| Fin.lt_of_le_of_lt h <| Fin.lt_last_iff_ne_last. 2 hp) :
1231
- ( castPred p hp).predAbove i = castPred i hi := by
1229
+ lemma predAbove_castPred_of_le (p i : Fin (n + 1 )) (h : i ≤ p) (hp : p ≠ last n) :
1230
+ (castPred p hp).predAbove i =
1231
+ castPred i (Fin.ne_of_lt <| Fin.lt_of_le_of_lt h <| Fin.lt_last_iff_ne_last. 2 hp) := by
1232
1232
rw [predAbove_of_le_castSucc _ _ (castSucc_castPred _ _ ▸ h)]
1233
1233
1234
1234
lemma predAbove_castPred_self (p : Fin (n + 1 )) (hp : p ≠ last n) :
0 commit comments