📚 Stale docs available: The documentation from 2026-02-17T02:56:00-08:00 is still accessible.
Project build failed
⚠ [8262/8270] Built BanachTarski.Common (6.2s)
warning: BanachTarski/Common.lean:4:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎/-- Defs used throughout. -/⏎⏎-- -- Misc⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Common.lean:16:2: 'simp at eq' is a flexible tactic modifying 'eq'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:17:2: 'exact eq' uses 'eq'!
warning: BanachTarski/Common.lean:87:8: `Matrix.invertibleOfRightInverse` has been deprecated: Use `invertibleOfRightInverse` instead
Note: The updated constant has a different type:
{α : Type u} → [inst : Monoid α] → [IsDedekindFiniteMonoid α] → (a b : α) → a * b = 1 → Invertible a
instead of
{n : Type u_1} →
{R : Type u_3} →
[inst : Fintype n] →
[inst_1 : DecidableEq n] → [inst_2 : CommSemiring R] → (A B : Matrix n n R) → A * B = 1 → Invertible A
Note: The updated constant is in a different namespace. Dot notation may need to be changed (e.g., from `x.invertibleOfRightInverse` to `invertibleOfRightInverse x`).
warning: BanachTarski/Common.lean:97:4: 'simp at part' is a flexible tactic modifying 'part'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:98:4: 'rw [← mul_assoc] at part' uses 'part'!
warning: BanachTarski/Common.lean:97:4: 'simp at part' is a flexible tactic modifying 'part'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:100:4: 'rw [Matrix.inv_mul_of_invertible] at part' uses 'part'!
warning: BanachTarski/Common.lean:97:4: 'simp at part' is a flexible tactic modifying 'part'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:101:4: 'have part2 : _ := congrArg (fun x ↦ x * (Matrix.transpose g)⁻¹) part' uses 'part'!
warning: BanachTarski/Common.lean:102:4: 'simp at part2' is a flexible tactic modifying 'part2'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:105:4: 'exact part2' uses 'part2'!
warning: BanachTarski/Common.lean:106:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:106:4: Try this:
[apply] simp only [Matrix.det_nonsing_inv, Ring.inverse_eq_inv', inv_eq_one]
info: BanachTarski/Common.lean:107:4: 'exact a_tr.right' uses '⊢'!
warning: BanachTarski/Common.lean:123:2: 'simp [normed, S2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:124:2: 'rw [norm_smul]' uses '⊢'!
warning: BanachTarski/Common.lean:123:2: 'simp [normed, S2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Common.lean:129:2: 'apply inv_mul_cancel_of_invertible' uses '⊢'!
warning: BanachTarski/Common.lean:135:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (m.divNat = n.divNat ∧ m.modNat ≠ n.modNat) := by⏎⏎ contrapose!⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Common.lean:144:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · exact eqmod⏎⏎ have resm : _ := finProdFinEquiv.right_inv m⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
⚠ [8263/8270] Built BanachTarski.SatoUtils (21s)
warning: BanachTarski/SatoUtils.lean:6:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎/-- A bunch of definitions and lemmas used in defining the Sato subgroup. -/⏎⏎abbrev ZMAT:= Matrix (Fin 3) (Fin 3) ℤ⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:27:41: 'simp [to_MAT_mul]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:27:41: Try this:
[apply] simp only [List.map_cons, List.prod_cons]
info: BanachTarski/SatoUtils.lean:27:60: 'apply congrArg' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:27:41: 'simp [to_MAT_mul]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:27:41: Try this:
[apply] simp only [List.map_cons, List.prod_cons]
info: BanachTarski/SatoUtils.lean:27:76: 'exact ih' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:48:4: 'simp [ML]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:49:4: 'apply congrArg' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:77:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ <;> exact Int.dvd_self_sub_emod⏎⏎ obtain ⟨w1, w2, w3, prr⟩ := rrr⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons, Int.zsmul_eq_mul,
Matrix.smul_empty, Pi.add_apply, Matrix.cons_val_zero]
info: BanachTarski/SatoUtils.lean:74:8: 'rw [Int.mul_ediv_cancel']' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons, Int.zsmul_eq_mul,
Matrix.smul_empty, Pi.add_apply, Matrix.cons_val_one, Matrix.cons_val_zero]
info: BanachTarski/SatoUtils.lean:74:8: 'rw [Int.mul_ediv_cancel']' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.reduceFinMk, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons,
Int.zsmul_eq_mul, Matrix.smul_empty, Pi.add_apply, Matrix.cons_val]
info: BanachTarski/SatoUtils.lean:74:8: 'rw [Int.mul_ediv_cancel']' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons, Int.zsmul_eq_mul,
Matrix.smul_empty, Pi.add_apply, Matrix.cons_val_zero]
info: BanachTarski/SatoUtils.lean:76:8: 'exact Int.dvd_self_sub_emod' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons, Int.zsmul_eq_mul,
Matrix.smul_empty, Pi.add_apply, Matrix.cons_val_one, Matrix.cons_val_zero]
info: BanachTarski/SatoUtils.lean:76:8: 'exact Int.dvd_self_sub_emod' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:73:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:73:8: Try this:
[apply] simp only [Fin.reduceFinMk, Fin.isValue, Nat.succ_eq_add_one, Nat.reduceAdd, Matrix.smul_cons,
Int.zsmul_eq_mul, Matrix.smul_empty, Pi.add_apply, Matrix.cons_val]
info: BanachTarski/SatoUtils.lean:76:8: 'exact Int.dvd_self_sub_emod' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:86:2: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:86:2: Try this:
[apply] simp only [add_zero]
info: BanachTarski/SatoUtils.lean:87:2: 'rw [mod7_Z_idempotent]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:95:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ L.drop M = [X] := by⏎⏎ rintro M⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:100:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · rintro L X ⟨hlen, hlast⟩⏎⏎ have : ∃ Linit, L = Linit ++ [X] := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:103:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simpa [List.getLast?_eq_some_iff] using hlast⏎⏎ obtain ⟨Linit, pLinit⟩ :=this⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:105:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ obtain ⟨Linit, pLinit⟩ :=this⏎⏎ simp⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:109:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ have sublen : Linit.length = 0 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:114:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ linarith [lem]⏎⏎ exact List.length_eq_zero_iff.mp sublen⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:118:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ -- now compute drop on an append⏎⏎ · rintro L X ⟨hlen, hlast⟩⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:120:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · rintro L X ⟨hlen, hlast⟩⏎⏎ have head_tail: ∃ head: α, ∃ tail : List α, L= head::tail := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:130:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ _ = tail.length + 1 := List.length_cons⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:133:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have len_lem: tail.length = M + 1 := by linarith [inter]⏎⏎ have last_lem: tail.getLast? = some X := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:144:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ linarith⏎⏎ simp at hlast⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:147:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have not_none:_ := mt List.getLast?_eq_none_iff.mp netail⏎⏎ have r0:_ := Option.getD_eq_iff.mp hlast⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:153:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ trivial⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:106:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:106:6: Try this:
[apply] simp only [List.drop_zero]
info: BanachTarski/SatoUtils.lean:107:6: 'rw [pLinit]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:106:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:106:6: Try this:
[apply] simp only [List.drop_zero]
info: BanachTarski/SatoUtils.lean:115:6: 'exact List.length_eq_zero_iff.mp sublen' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:145:8: 'simp at hlast' is a flexible tactic modifying 'hlast'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:148:8: 'have r0 : _ := Option.getD_eq_iff.mp hlast' uses 'hlast'!
warning: BanachTarski/SatoUtils.lean:164:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ calc (Matrix.diagonal (fun _ ↦ d))^k * M⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:196:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · intro mats d lhs⏎⏎ have hprop : ∃H : MAT, ∃T : List MAT, mats = H::T := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:203:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:223:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ _ = (List.map dmap mats).prod := by simp [pH]⏎⏎ simp [D]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:224:8: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:225:8: 'exact res' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:234:2: 'simp [sev_mat_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:235:2: 'rw [Matrix.diagonal_pow]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:234:2: 'simp [sev_mat_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:239:2: 'rw [l]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:234:2: 'simp [sev_mat_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:243:2: 'left' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:234:2: 'simp [sev_mat_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:244:2: 'exact Nnz' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:247:2: 'simp [sev_mat, seventh_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:248:2: 'rw [Matrix.diagonal_pow]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:247:2: 'simp [sev_mat, seventh_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:251:2: 'rw [Matrix.diagonal_pow]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:247:2: 'simp [sev_mat, seventh_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:252:2: 'rw [Matrix.diagonal_mul_diagonal]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:269:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (FreeGroup.toWord a2).getLast? = some (0, true) -/⏎⏎-- First some general lemmas about reducibility⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:315:2: 'apply List.isChain_append.mpr' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:317:4: 'exact lisred' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:319:4: 'exact misred' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:320:2: 'intro x xlast' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:322:2: 'intro y yfirst' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:321:2: 'simp at xlast' is a flexible tactic modifying 'xlast'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:321:2: Try this:
[apply] simp only [Option.mem_def, Prod.forall, Bool.forall_bool] at xlast
info: BanachTarski/SatoUtils.lean:324:2: 'rw [pl] at xlast' uses 'xlast'!
warning: BanachTarski/SatoUtils.lean:323:2: 'simp at yfirst' is a flexible tactic modifying 'yfirst'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:325:2: 'rw [ph] at yfirst' uses 'yfirst'!
warning: BanachTarski/SatoUtils.lean:321:2: 'simp at xlast' is a flexible tactic modifying 'xlast'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:321:2: Try this:
[apply] simp only [Option.mem_def, Prod.forall, Bool.forall_bool] at xlast
info: BanachTarski/SatoUtils.lean:326:2: 'have p1isx : _ := Option.some_inj.mp xlast' uses 'xlast'!
warning: BanachTarski/SatoUtils.lean:323:2: 'simp at yfirst' is a flexible tactic modifying 'yfirst'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:327:2: 'have p2isy : _ := Option.some_inj.mp yfirst' uses 'yfirst'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:328:2: 'rw [← p1isx, ← p2isy]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:314:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:329:2: 'exact arediff' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:333:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:334:2: 'intro k' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:333:2: 'simp [FreeGroup.IsReduced]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:335:2: 'induction k with
| zero => simp
| succ n ih =>
cases n with
| zero => simp
| succ m =>
apply List.IsChain.cons_cons
· simp
exact ih' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:383:4: 'simp [S_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:383:4: Try this:
[apply] simp only [Fin.ofNat_eq_cast, Fin.natCast_zero]
info: BanachTarski/SatoUtils.lean:384:4: 'exact TP_holds_of_zero_f w' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:505:12: `List.take_succ` has been deprecated: Use `List.take_add_one` instead
warning: BanachTarski/SatoUtils.lean:706:12: `List.getLast?_eq_getLast` has been deprecated: Use `List.getLast?_eq_some_getLast` instead
warning: BanachTarski/SatoUtils.lean:443:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:447:6: 'apply Fin.lt_last_iff_ne_last.mpr' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:443:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:448:6: 'by_contra badeq' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:442:6: 'simp [all_sinv] at notall' is a flexible tactic modifying 'notall'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:449:6: 'rw [badeq] at notall' uses 'notall'!
warning: BanachTarski/SatoUtils.lean:455:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:462:6: 'let cond1 := cond.left.right' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:455:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:463:6: 'nth_rewrite 1 [← List.take_append_drop (w.length - max_fin) w]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:455:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:464:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:455:6: 'simp [leading_others_as_nat, leading_others_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:465:6: 'rw [cond1]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:475:6: 'simp [case] at case_is_none' is a flexible tactic modifying 'case_is_none'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:477:6: 'exact notone case_is_none' uses 'case_is_none'!
warning: BanachTarski/SatoUtils.lean:483:4: 'simp at case_is_some' is a flexible tactic modifying 'case_is_some'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:483:4: Try this:
[apply] simp only [Fin.isValue, Bool.exists_bool] at case_is_some
info: BanachTarski/SatoUtils.lean:484:4: 'have issome : _ := Option.isSome_iff_ne_none.mpr case_is_some' uses 'case_is_some'!
warning: BanachTarski/SatoUtils.lean:506:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:506:8: Try this:
[apply] simp only [Nat.pred_eq_sub_one, Fin.isValue, List.append_cancel_left_eq, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:507:8: 'rw [cset]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:506:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:506:8: Try this:
[apply] simp only [Nat.pred_eq_sub_one, Fin.isValue, List.append_cancel_left_eq, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:508:8: 'rw [List.getLast?_take]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:506:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:506:8: Try this:
[apply] simp only [Nat.pred_eq_sub_one, Fin.isValue, List.append_cancel_left_eq, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:510:8: 'rw [Option.or_of_isSome]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:506:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:506:8: Try this:
[apply] simp only [Nat.pred_eq_sub_one, Fin.isValue, List.append_cancel_left_eq, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:514:8: 'change w.length - (↑(max_fin_f w) + 1) < w.length' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:506:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:506:8: Try this:
[apply] simp only [Nat.pred_eq_sub_one, Fin.isValue, List.append_cancel_left_eq, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:517:8: 'apply Nat.sub_lt_self gtl' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:541:10: 'simp [L2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:541:10: Try this:
[apply] simp only [Fin.isValue, Nat.pred_eq_sub_one, List.append_assoc, List.cons_append, List.nil_append]
info: BanachTarski/SatoUtils.lean:542:10: 'apply (FreeGroup.Red.Step.append_left_iff (List.take (leading_others_as_nat - 1) w)).mpr' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:541:10: 'simp [L2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:541:10: Try this:
[apply] simp only [Fin.isValue, Nat.pred_eq_sub_one, List.append_assoc, List.cons_append, List.nil_append]
info: BanachTarski/SatoUtils.lean:543:10: 'apply FreeGroup.Red.Step.cons_not' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:584:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:584:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:585:10: 'rw [cset]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:584:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:584:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:587:10: 'rw [List.getLast?_take]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:584:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:584:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:594:10: 'rw [Option.or_of_isSome]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:613:10: 'simp [all_sinv] at notall' is a flexible tactic modifying 'notall'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:615:10: 'have uu : max_fin.val < w.length := by
apply Fin.val_lt_last
by_contra iop
simp [max_fin] at iop
rw [iop] at notall
simp at notall' uses 'notall'!
warning: BanachTarski/SatoUtils.lean:618:12: 'simp [max_fin] at iop' is a flexible tactic modifying 'iop'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:619:12: 'rw [iop] at notall' uses 'iop'!
warning: BanachTarski/SatoUtils.lean:635:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:635:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:636:10: 'rw [cset]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:635:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:635:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:639:10: 'rw [List.getLast?_take]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:635:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:635:10: Try this:
[apply] simp only [Fin.isValue, Option.toList_eq_singleton_iff]
info: BanachTarski/SatoUtils.lean:648:10: 'rw [Option.or_of_isSome]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:656:6: 'simp [all_sinv] at notall' is a flexible tactic modifying 'notall'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:658:6: 'exact notall (congrArg (fun x ↦ x.val) even_worse)' uses 'notall'!
warning: BanachTarski/SatoUtils.lean:669:2: 'simp [some_trailing_sinv] at no_trail_sinv' is a flexible tactic modifying 'no_trail_sinv'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:669:2: Try this:
[apply] simp only [Fin.isValue, Bool.exists_bool] at no_trail_sinv
info: BanachTarski/SatoUtils.lean:673:4: 'exact no_trail_sinv' uses 'no_trail_sinv'!
warning: BanachTarski/SatoUtils.lean:672:4: 'simp [trailing_as_nat, trailing_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:672:4: Try this:
[apply] simp only [Fin.isValue, List.self_eq_append_right, List.replicate_eq_nil_iff]
info: BanachTarski/SatoUtils.lean:673:4: 'exact no_trail_sinv' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:679:4: 'simp at last_is_none' is a flexible tactic modifying 'last_is_none'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:679:4: Try this:
[apply] simp only [Fin.isValue, Bool.exists_bool] at last_is_none
info: BanachTarski/SatoUtils.lean:681:4: 'exact notone last_is_none' uses 'last_is_none'!
warning: BanachTarski/SatoUtils.lean:690:4: 'simp [last_is_sigma_f] at last_not_sigma' is a flexible tactic modifying 'last_not_sigma'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:690:4: Try this:
[apply] simp only [Fin.isValue, Bool.exists_bool] at last_not_sigma
info: BanachTarski/SatoUtils.lean:692:4: 'exact last_not_sigma pr' uses 'last_not_sigma'!
warning: BanachTarski/SatoUtils.lean:700:8: 'simp at notgt1' is a flexible tactic modifying 'notgt1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:701:8: 'exact notone notgt1' uses 'notgt1'!
warning: BanachTarski/SatoUtils.lean:703:6: 'simp [List.replicate_one]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:703:6: Try this:
[apply] simp only [Fin.isValue, List.replicate_one]
info: BanachTarski/SatoUtils.lean:704:6: 'rw [List.drop_length_sub_one]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:703:6: 'simp [List.replicate_one]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:703:6: Try this:
[apply] simp only [Fin.isValue, List.replicate_one]
info: BanachTarski/SatoUtils.lean:707:10: 'exact Option.some.inj pr' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:703:6: 'simp [List.replicate_one]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:703:6: Try this:
[apply] simp only [Fin.isValue, List.replicate_one]
info: BanachTarski/SatoUtils.lean:709:8: 'exact notone' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:703:6: 'simp [List.replicate_one]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:703:6: Try this:
[apply] simp only [Fin.isValue, List.replicate_one]
info: BanachTarski/SatoUtils.lean:711:6: 'exact notone' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:718:4: 'simp [lSet_type_f] at bnd' is a flexible tactic modifying 'bnd'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:725:4: 'rw [melem] at bnd' uses 'bnd'!
warning: BanachTarski/SatoUtils.lean:718:4: 'simp [lSet_type_f] at bnd' is a flexible tactic modifying 'bnd'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:727:4: 'have bad : 1 ≤ max_fin := bnd badel.left badel.right' uses 'bnd'!
warning: BanachTarski/SatoUtils.lean:669:2: 'simp [some_trailing_sinv] at no_trail_sinv' is a flexible tactic modifying 'no_trail_sinv'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:669:2: Try this:
[apply] simp only [Fin.isValue, Bool.exists_bool] at no_trail_sinv
info: BanachTarski/SatoUtils.lean:732:4: 'rw [no_trail_sinv] at bad' uses 'no_trail_sinv'!
warning: BanachTarski/SatoUtils.lean:731:4: 'simp [max_fin] at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:732:4: 'rw [no_trail_sinv] at bad' uses 'bad'!
warning: BanachTarski/SatoUtils.lean:731:4: 'simp [max_fin] at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:733:4: 'have : _ := Fin.le_iff_val_le_val.mp bad' uses 'bad'!
warning: BanachTarski/SatoUtils.lean:734:4: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:735:4: 'exact notone this' uses 'this'!
warning: BanachTarski/SatoUtils.lean:751:2: 'simp [all_sinv_f, n_trail_sinv_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:752:2: 'intro predi' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:755:2: 'simp [S_f, TailPred_f] at cond' is a flexible tactic modifying 'cond'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:756:2: 'rw [predi] at cond' uses 'cond'!
warning: BanachTarski/SatoUtils.lean:751:2: 'simp [all_sinv_f, n_trail_sinv_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:759:2: 'exact res' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:758:2: 'simp at res' is a flexible tactic modifying 'res'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:759:2: 'exact res' uses 'res'!
warning: BanachTarski/SatoUtils.lean:781:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact eq⏎⏎ rw [invlem]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:801:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ rw [xyz2]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:778:8: 'simp [A, B]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:780:8: 'exact eq' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:776:6: 'simp [eq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:776:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:782:6: 'rw [invlem]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:776:6: 'simp [eq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:776:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:783:6: 'exact FreeGroup.reduce_invRev_left_cancel' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:785:6: 'rcases (em (nt < nf)) with tlf | flt' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:791:8: 'rw [xyz1]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:792:8: 'rw [List.append_assoc]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:793:8: 'rw [← FreeGroup.reduce_append_reduce_reduce]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:794:8: 'rw [FreeGroup.reduce_invRev_left_cancel]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:802:8: 'rw [xyz2]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:803:8: 'rw [← List.append_assoc]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:804:8: 'rw [← FreeGroup.reduce_append_reduce_reduce]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:784:6: 'simp [neq]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:784:6: Try this:
[apply] simp only [gt_iff_lt]
info: BanachTarski/SatoUtils.lean:807:8: 'rw [trt]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:832:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact notone isempt⏎⏎ have cond2: FreeGroup.IsReduced w_inv := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:840:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact FreeGroup.isReduced_iff_reduce_eq.mpr redtwic⏎⏎ have cond3: ¬ (all_sinv_f w_inv) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:851:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [FreeGroup.invRev] at notall⏎⏎ have cond4: ¬last_is_sigma_f w_inv := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:859:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact first_not_sinv last_is_s⏎⏎ have :_:= if_not_all_sinv_w (w_inv) ⟨cond1, cond2, cond3, cond4⟩⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:862:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ obtain ⟨wc_inv, p_wc_inv⟩ := this⏎⏎ use FreeGroup.invRev wc_inv⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:864:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ use FreeGroup.invRev wc_inv⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:875:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [FreeGroup.invRev]; exact leading_trailing⏎⏎ constructor⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:878:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · exact isReduced_of_invRev_of_isReduced (p_wc_inv.right.left)⏎⏎ obtain ⟨c, pc⟩ := p_wc_inv.right.right⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:827:4: 'simp [w_inv]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:827:4: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/SatoUtils.lean:828:4: 'by_contra isempt' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:827:4: 'simp [w_inv]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:827:4: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/SatoUtils.lean:829:4: 'apply congrArg FreeGroup.invRev at isempt' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:830:4: 'simp at isempt' is a flexible tactic modifying 'isempt'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:831:4: 'exact notone isempt' uses 'isempt'!
warning: BanachTarski/SatoUtils.lean:827:4: 'simp [w_inv]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:827:4: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/SatoUtils.lean:831:4: 'exact notone isempt' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:834:4: 'simp [w_inv]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:839:4: 'exact FreeGroup.isReduced_iff_reduce_eq.mpr redtwic' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:843:4: 'simp [w_inv] at all_sigs'' is a flexible tactic modifying 'all_sigs''. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:844:4: 'have all_sigs : _ := all_sinv_equiv (FreeGroup.invRev w) all_sigs'' uses 'all_sigs''!
warning: BanachTarski/SatoUtils.lean:845:4: 'simp [all_s_f] at notall' is a flexible tactic modifying 'notall'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:848:4: 'rw [all_sigs] at notall' uses 'notall'!
warning: BanachTarski/SatoUtils.lean:847:4: 'simp [FreeGroup.invRev_invRev] at all_sigs' is a flexible tactic modifying 'all_sigs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:848:4: 'rw [all_sigs] at notall' uses 'all_sigs'!
warning: BanachTarski/SatoUtils.lean:857:4: 'simp [first_is_sinv_f] at first_not_sinv' is a flexible tactic modifying 'first_not_sinv'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:858:4: 'exact first_not_sinv last_is_s' uses 'first_not_sinv'!
warning: BanachTarski/SatoUtils.lean:854:4: 'simp [last_is_sigma_f] at last_is_s' is a flexible tactic modifying 'last_is_s'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:858:4: 'exact first_not_sinv last_is_s' uses 'last_is_s'!
warning: BanachTarski/SatoUtils.lean:874:8: 'simp [FreeGroup.invRev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:874:8: Try this:
[apply] simp only [Fin.isValue, List.append_cancel_right_eq]
info: BanachTarski/SatoUtils.lean:874:33: 'exact leading_trailing' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:881:2: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:881:2: Try this:
[apply] simp only [Fin.isValue, Bool.not_eq_true, Bool.decide_eq_false]
info: BanachTarski/SatoUtils.lean:883:2: 'exact pc' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:889:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (FreeGroup.toWord a2).getLast? = some (0, true) := by⏎⏎ rintro ⟨aneq1, image_is_one⟩⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:891:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rintro ⟨aneq1, image_is_one⟩⏎⏎ set w: List chartype := FreeGroup.toWord a with w_same⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:896:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set trailing_as_nat : ℕ := trailing_as_nat_f w with trailing_def⏎⏎ have nts_pos : n_trail_sinvs ≥ 0 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:899:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [n_trail_sinvs, n_trail_sinv_f]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:904:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set last_is_sigma := w.getLast? = some (0, true) with lis_def⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:909:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set TailPred := TailPred_f w with TPdef⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:914:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rwa [←w_same] at sim⏎⏎ have notone : w ≠ ([]: List chartype) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:919:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact aneq1 cont⏎⏎ have wlen: w.length ≠ 0 := (mt List.length_eq_zero_iff.mp) notone⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:921:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have wlen: w.length ≠ 0 := (mt List.length_eq_zero_iff.mp) notone⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:933:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [typed_length]⏎⏎ have max_has_property:_ := (cond pred).left⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:941:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [notone]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:946:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ -------------------------⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:950:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have dec_last_is_sigma : Decidable last_is_sigma := Classical.propDecidable last_is_sigma⏎⏎ let a2: FG2 := dite last_is_sigma (fun _ => a) (fun _ =>⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:954:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ σ ^ (-n_trail_sinvs - 1) * a * σ ^ (n_trail_sinvs + 1)))⏎⏎ have still_in_kernel: h a2 = 1 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:956:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have still_in_kernel: h a2 = 1 := by⏎⏎ simp [a2]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:958:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [a2]⏎⏎ rcases (em last_is_sigma) with last_is_sig | last_not_sig⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:974:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num⏎⏎ set w2 := FreeGroup.toWord a2 with w2_same⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:976:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set w2 := FreeGroup.toWord a2 with w2_same⏎⏎ have w2_isreduced: FreeGroup.IsReduced w2 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:980:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rwa [←w2_same] at sim⏎⏎ have check_same: a2 = FreeGroup.mk w2 := FreeGroup.mk_toWord.symm⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:982:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have check_same: a2 = FreeGroup.mk w2 := FreeGroup.mk_toWord.symm⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:985:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set N := w2.length with w2_len_lem⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:988:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have end_lemma: w2.getLast? = some (0, true) := by⏎⏎ simp [w2]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:996:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact last_is_sig⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:999:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rcases (em all_sinv) with all | notall⏎⏎ · simp [all]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1002:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [last_not_sig]⏎⏎ change (FreeGroup.invRev w).getLast? = some (0, true)⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1005:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [FreeGroup.invRev]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1011:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [last_not_sig]⏎⏎ have last_not_sigma: ¬last_is_sigma_f w := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1015:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simpa [last_is_sigma] using last_not_sig⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1019:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←trailing_def] at res⏎⏎ obtain ⟨wc, pwc⟩ := res⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1031:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ nth_rewrite 2 [←FreeGroup.reduce_append_reduce_reduce]⏎⏎ have rrr: FreeGroup.reduce wc = wc := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1035:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact pwc.right.left⏎⏎ rw [rrr]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1037:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [rrr]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1043:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [replemma2]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1058:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1061:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [redlem2]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1070:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ linarith⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1077:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [σchar]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1084:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact redlem2⏎⏎ rcases (em (¬first_is_sinv_f wr)) with no_first_not_sinv | yes_first_is_sinv⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1086:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rcases (em (¬first_is_sinv_f wr)) with no_first_not_sinv | yes_first_is_sinv⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1090:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have cond2 : FreeGroup.IsReduced wr := by exact wr_is_reduced⏎⏎ have cond3 : ¬(all_s_f wr) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1094:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [wr] at act_all⏎⏎ simp [all_s_f] at act_all⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1103:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at pwc3⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1106:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have cond4 : ¬(first_is_sinv_f wr) := by exact no_first_not_sinv⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1110:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ obtain ⟨wd, wdp⟩ := res2⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1115:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←FreeGroup.reduce_append_reduce_reduce]⏎⏎ have redlemagain: ∃k: ℕ, ∃b:Bool, FreeGroup.reduce⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1131:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [d2]⏎⏎ obtain ⟨k, b, pkb⟩ := redlemagain⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1153:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [isredalready]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1155:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [isredalready]⏎⏎ have wdredstep : FreeGroup.reduce (wd) = wd := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1158:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact FreeGroup.isReduced_iff_reduce_eq.mp (wdp.right.left)⏎⏎ rw [wdredstep]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1164:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at wdp⏎⏎ rw [List.getLast?_append_of_ne_nil _ wdne]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1171:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact wdne⏎⏎ rw [samelast]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1173:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [samelast]⏎⏎ simp [wr]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1175:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [wr]⏎⏎ ------⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1190:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [ared]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1192:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [ared]⏎⏎ have wrne: wr ≠ [] := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1195:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [wr]⏎⏎ rw [List.getLast?_append_of_ne_nil _ wrne]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1198:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [wr]⏎⏎ have a2_ne_one : a2 ≠ 1 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:1206:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at end_lemma⏎⏎ exact ⟨a2, a2_ne_one, still_in_kernel, end_lemma⟩⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/SatoUtils.lean:917:4: 'simp [w] at cont' is a flexible tactic modifying 'cont'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:918:4: 'exact aneq1 cont' uses 'cont'!
warning: BanachTarski/SatoUtils.lean:925:4: 'simp [all_sinv, all_sinv_f, n_trail_sinv_f] at is_all' is a flexible tactic modifying 'is_all'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:929:4: 'have pred : S.max' ne_S = typed_length := by
ext
rw [is_all]
simp [typed_length]' uses 'is_all'!
warning: BanachTarski/SatoUtils.lean:937:4: 'simp [typed_length] at drp' is a flexible tactic modifying 'drp'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:938:4: 'rw [drp]' uses 'drp'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:959:4: 'rcases (em last_is_sigma) with last_is_sig | last_not_sig' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:961:6: 'exact image_is_one' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:963:4: 'rcases (em all_sinv) with all | notall' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:966:6: 'exact image_is_one' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:970:4: 'rw [image_is_one]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:957:4: 'simp [a2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:972:4: 'rw [← zpow_add (h σ)]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:991:4: 'rcases (em last_is_sigma) with last_is_sig | last_not_sig' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:995:6: 'exact last_is_sig' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:993:6: 'simp [last_is_sigma] at last_is_sig' is a flexible tactic modifying 'last_is_sig'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:995:6: 'exact last_is_sig' uses 'last_is_sig'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:998:4: 'rcases (em all_sinv) with all | notall' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1003:6: 'change (FreeGroup.invRev w).getLast? = some (0, true)' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1007:6: 'rw [if_all_sinv all]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1021:4: 'rw [mul_assoc]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1023:4: 'rw [← w_same]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1024:4: 'rw [pwc.left]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1025:4: 'rw [List.append_assoc wc]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1027:4: 'rw [eqpows]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1030:4: 'nth_rewrite 2 [← FreeGroup.reduce_append_reduce_reduce]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1036:4: 'rw [rrr]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1042:4: 'rw [replemma2]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1066:6: 'simp [trailing_as_nat, trailing_as_nat_f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1066:6: Try this:
[apply] simp only [neg_add_rev, Int.reduceNeg]
info: BanachTarski/SatoUtils.lean:1068:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1072:4: 'rw [powlem]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1073:4: 'rw [FreeGroup.toWord_pow]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1079:4: 'set wr := wc ++ [(0, true)] with wr_def' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1081:6: 'simp [wr]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1082:6: 'apply FreeGroup.isReduced_iff_reduce_eq.mpr' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1081:6: 'simp [wr]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1083:6: 'exact redlem2' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1085:4: 'rcases (em (¬first_is_sinv_f wr)) with no_first_not_sinv | yes_first_is_sinv' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1093:8: 'simp [wr] at act_all' is a flexible tactic modifying 'act_all'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1096:8: 'rw [List.replicate_succ'] at act_all' uses 'act_all'!
warning: BanachTarski/SatoUtils.lean:1093:8: 'simp [wr] at act_all' is a flexible tactic modifying 'act_all'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1097:8: 'apply List.append_inj at act_all' uses 'act_all'!
warning: BanachTarski/SatoUtils.lean:1093:8: 'simp [wr] at act_all' is a flexible tactic modifying 'act_all'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1100:8: 'rw [act_all] at pwc3' uses 'act_all'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1112:6: 'rw [wdp.left]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1113:6: 'rw [← List.append_assoc]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1114:6: 'rw [← FreeGroup.reduce_append_reduce_reduce]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1116:6: 'have redlemagain :
∃ k : ℕ,
∃ b : Bool,
FreeGroup.reduce
(List.replicate (trailing_as_nat + 1) ((0 : Fin 2), false) ++
List.replicate (leading_s_as_nat_f wr) ((0 : Fin 2), true)) =
List.replicate k (0, b) :=
by
let a := trailing_as_nat + 1
let b := leading_s_as_nat_f wr
rw [← σ_def]
rw [collapse_replics_1 a b]
rcases (em (a = b)) with c1 | c2
·
simp [c1]
--
simp [c2]
rcases (em (b < a)) with d1 | d2
· simp [d1]
simp [d2]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1127:14: 'simp [c2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1127:14: Try this:
[apply] simp only [gt_iff_lt, Bool.exists_bool]
info: BanachTarski/SatoUtils.lean:1128:14: 'rcases (em (b < a)) with d1 | d2' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1133:6: 'rw [pkb]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1134:6: 'have isredalready :
FreeGroup.reduce (List.replicate k (0, b) ++ FreeGroup.reduce wd) = List.replicate k (0, b) ++ FreeGroup.reduce wd :=
by
rcases (em (k = 0)) with k_is_zero | k_nonzero
·
simp [k_is_zero]
--
apply FreeGroup.isReduced_iff_reduce_eq.mp
obtain ⟨b', pb'⟩ := wdp.right.right
apply isreduced_of_append_of_reduced_mismatching_boundary (0, b) (1, b')
· simp [List.getLast?_replicate]
exact k_nonzero
· rw [FreeGroup.isReduced_iff_reduce_eq.mp wdp.right.left]
exact pb'
constructor
· exact isReduced_of_replicate
constructor
· apply FreeGroup.isReduced_iff_reduce_eq.mpr
simp
simp' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1142:12: 'simp [List.getLast?_replicate]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1143:12: 'exact k_nonzero' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1154:6: 'rw [isredalready]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1159:6: 'rw [wdredstep]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1165:6: 'rw [List.getLast?_append_of_ne_nil _ wdne]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1172:6: 'rw [samelast]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1180:6: 'simp [first_is_sinv_f] at yes_first_is_sinv' is a flexible tactic modifying 'yes_first_is_sinv'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1184:8: 'exact yes_first_is_sinv' uses 'yes_first_is_sinv'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1191:4: 'rw [ared]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:989:4: 'simp [w2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1196:4: 'rw [List.getLast?_append_of_ne_nil _ wrne]' uses '⊢'!
warning: BanachTarski/SatoUtils.lean:1203:4: 'simp at badeq' is a flexible tactic modifying 'badeq'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/SatoUtils.lean:1204:4: 'rw [badeq] at end_lemma' uses 'badeq'!
✖ [8264/8270] Building BanachTarski.Rot (29s)
trace: .> LEAN_PATH=/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/Cli/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/batteries/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/Qq/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/aesop/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/proofwidgets/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/importGraph/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/LeanSearchClient/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/plausible/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/mathlib/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean /home/nfr/.elan/toolchains/leanprover--lean4---v4.29.0/bin/lean /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/BanachTarski/Rot.lean -o /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean/BanachTarski/Rot.olean -i /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean/BanachTarski/Rot.ilean -c /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/ir/BanachTarski/Rot.c --setup /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/ir/BanachTarski/Rot.setup.json --json
warning: BanachTarski/Rot.lean:11:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎and convert back to matrices at the end (in particular, see lemma `same_action`). -/⏎⏎-- Section Goal:⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:15:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎-- and the space orthogonal to the axis.⏎⏎instance R3_dim_3 : Fact (Module.finrank ℝ R3 = 2 + 1) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:17:2: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:17:2: Try this:
[apply] simp only [finrank_euclideanSpace, Fintype.card_fin, Nat.reduceAdd]
info: BanachTarski/Rot.lean:18:2: 'trivial' uses '⊢'!
warning: BanachTarski/Rot.lean:32:2: 'simp [orth]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:33:2: 'apply Submodule.finrank_orthogonal_span_singleton' uses '⊢'!
warning: BanachTarski/Rot.lean:32:2: 'simp [orth]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:34:2: 'exact s2_nonzero ax' uses '⊢'!
warning: BanachTarski/Rot.lean:40:2: 'simp at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:42:2: 'have isbot_orth : (orth ax) = ⊥ := by exact (Submodule.eq_bot_iff (orth ax)).mpr bad' uses 'bad'!
warning: BanachTarski/Rot.lean:45:2: 'simp [ax_space] at istop_ax' is a flexible tactic modifying 'istop_ax'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:46:2: 'apply congrArg (fun S : (Submodule ℝ R3) ↦ Module.finrank ℝ S) at istop_ax' uses 'istop_ax'!
warning: BanachTarski/Rot.lean:45:2: 'simp [ax_space] at istop_ax' is a flexible tactic modifying 'istop_ax'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:50:2: 'rw [istop_ax] at this' uses 'istop_ax'!
warning: BanachTarski/Rot.lean:67:2: 'simp at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:68:2: 'rcases bad with c1 | c2' uses 'bad'!
warning: BanachTarski/Rot.lean:69:4: 'simp [nr] at c1' is a flexible tactic modifying 'c1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:70:4: 'rw [c1] at prop' uses 'c1'!
error: BanachTarski/Rot.lean:107:8: Tactic `rewrite` failed: Did not find an occurrence of the pattern
⊤
in the target expression
ℝ ∙ ⟨↑ax, ismem⟩ = ⊤
ax : ↑S2
ismem : ↑ax ∈ ax_space ax
gen : ↥(ax_space ax) := ⟨↑ax, ismem⟩
v : Fin 1 → ↥(ax_space ax) := ![gen]
hon : LinearIndependent ℝ v :=
Eq.mpr (id (Eq.trans (linearIndependent_subsingleton_index_iff._simp_1 v) Fin.forall_fin_one._simp_1))
(have this := ax.property;
Eq.mpr (id (congrArg Not (congrFun' (congrArg Eq (Matrix.cons_val_fin_one gen ![] 0)) 0)))
(Eq.mpr (id (congrArg Not (Submodule.mk_eq_zero._simp_1 (ax_space ax) ismem)))
(id fun bad ↦
False.elim
(Eq.mp
(Eq.trans
(congrFun'
(congrArg Membership.mem
(congrArg setOf (funext fun y ↦ congrFun' (congrArg Eq (dist_zero_right y)) 1)))
0)
(Eq.trans (congrFun' (congrArg Eq norm_zero) 1) zero_ne_one._simp_1))
(Eq.mp (congrArg (fun _a ↦ _a ∈ {y | dist y 0 = 1}) bad) this)))))
⊢ ℝ ∙ ⟨↑ax, ismem⟩ = ⊤
warning: BanachTarski/Rot.lean:136:2: 'simp [rot_iso_plane_to_st]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:138:2: 'apply LinearIsometry.ext' uses '⊢'!
warning: BanachTarski/Rot.lean:136:2: 'simp [rot_iso_plane_to_st]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:139:2: 'intro x' uses '⊢'!
warning: BanachTarski/Rot.lean:157:2: 'simp [spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:158:2: 'set V := (Submodule.span ℝ { ax.val }).starProjection v with vdef' uses '⊢'!
warning: BanachTarski/Rot.lean:157:2: 'simp [spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:163:2: 'exact this' uses '⊢'!
warning: BanachTarski/Rot.lean:166:2: 'simp [operp]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:169:2: 'set V := (Submodule.span ℝ { ax.val }).starProjection v with vdef' uses '⊢'!
warning: BanachTarski/Rot.lean:180:2: 'simp [spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:181:2: 'apply (Submodule.starProjection_apply_eq_zero_iff (Submodule.span ℝ { ax.val })).mpr' uses '⊢'!
warning: BanachTarski/Rot.lean:179:2: 'simp [orth] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:182:2: 'exact lhs' uses 'lhs'!
warning: BanachTarski/Rot.lean:180:2: 'simp [spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:182:2: 'exact lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:185:2: 'simp [ax_space, spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:186:2: 'intro lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:185:2: 'simp [ax_space, spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:189:2: 'rw [← pa]' uses '⊢'!
warning: BanachTarski/Rot.lean:185:2: 'simp [ax_space, spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:191:2: 'apply congrArg' uses '⊢'!
warning: BanachTarski/Rot.lean:185:2: 'simp [ax_space, spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:192:2: 'apply Submodule.starProjection_eq_self_iff.mpr' uses '⊢'!
warning: BanachTarski/Rot.lean:196:2: 'simp [ax_space, operp]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:197:2: 'intro lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:196:2: 'simp [ax_space, operp]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:199:2: 'exact lhs' uses '⊢'!
error: BanachTarski/Rot.lean:229:74: unsolved goals
ax : ↑S2
x : R3
⊢ x = ↑((ℝ ∙ ↑ax)ᗮ.orthogonalProjection x) + (ℝ ∙ ↑ax).starProjection x
warning: BanachTarski/Rot.lean:241:2: 'simp [rot_by_parts]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:241:2: Try this:
[apply] simp only [id_eq]
info: BanachTarski/Rot.lean:242:2: 'rw [triv_rot_inner]' uses '⊢'!
warning: BanachTarski/Rot.lean:241:2: 'simp [rot_by_parts]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:241:2: Try this:
[apply] simp only [id_eq]
info: BanachTarski/Rot.lean:244:2: 'exact (el_by_parts ax w).symm' uses '⊢'!
warning: BanachTarski/Rot.lean:249:4: 'simp [rot_by_parts]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:256:4: 'rw [rips_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:263:4: 'simp [Function.LeftInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:264:4: 'intro x' uses '⊢'!
warning: BanachTarski/Rot.lean:263:4: 'simp [Function.LeftInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:265:4: 'rw [rot_by_parts_comp]' uses '⊢'!
warning: BanachTarski/Rot.lean:263:4: 'simp [Function.LeftInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:267:4: 'rw [triv_rot_by_parts]' uses '⊢'!
warning: BanachTarski/Rot.lean:271:4: 'simp [Function.RightInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:272:4: 'intro x' uses '⊢'!
warning: BanachTarski/Rot.lean:271:4: 'simp [Function.RightInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:273:4: 'rw [rot_by_parts_comp]' uses '⊢'!
warning: BanachTarski/Rot.lean:271:4: 'simp [Function.RightInverse]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:275:4: 'rw [triv_rot_by_parts]' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:290:4: 'rw [← sq_eq_sq₀ (norm_nonneg _) (norm_nonneg _)]' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:291:4: 'rw [Submodule.norm_sq_eq_add_norm_sq_projection (rot_by_parts ax θ x) (orth ax)]' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:292:4: 'rw [Submodule.norm_sq_eq_add_norm_sq_projection x (orth ax)]' uses '⊢'!
warning: BanachTarski/Rot.lean:294:6: 'simp [orth, spar]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:300:6: 'rw [idem]' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:303:6: 'apply congrArg (fun x ↦ x ^ 2)' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:305:6: 'rw [zero_lem1]' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:310:4: 'apply congrArg (fun x ↦ x ^ 2)' uses '⊢'!
warning: BanachTarski/Rot.lean:289:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:289:4: Try this:
[apply] simp only [LinearEquiv.coe_mk, LinearMap.coe_mk, AddHom.coe_mk]
info: BanachTarski/Rot.lean:312:4: 'rw [zero_lem1]' uses '⊢'!
warning: BanachTarski/Rot.lean:331:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [rot_iso_plane_to_st, rot_iso_plane_equiv]⏎⏎ have angcoe: Real.Angle.coe (2 * Real.pi * ↑k) = (0:ℝ) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:328:2: 'simp [rot_iso]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:332:2: 'have angcoe : Real.Angle.coe (2 * Real.pi * ↑k) = (0 : ℝ) :=
by
apply Real.Angle.angle_eq_iff_two_pi_dvd_sub.mpr
simp' uses '⊢'!
warning: BanachTarski/Rot.lean:328:2: 'simp [rot_iso]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:335:2: 'rw [angcoe]' uses '⊢'!
warning: BanachTarski/Rot.lean:328:2: 'simp [rot_iso]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:337:2: 'exact (el_by_parts axis v).symm' uses '⊢'!
warning: BanachTarski/Rot.lean:343:4: 'simp [rot_iso]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:345:4: 'rw [triv_rot_inner]' uses '⊢'!
warning: BanachTarski/Rot.lean:343:4: 'simp [rot_iso]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:347:4: 'exact (el_by_parts ax w).symm' uses '⊢'!
warning: BanachTarski/Rot.lean:355:2: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:355:2: Try this:
[apply] simp only [finrank_euclideanSpace, Fintype.card_fin]
info: BanachTarski/Rot.lean:356:2: 'trivial' uses '⊢'!
warning: BanachTarski/Rot.lean:381:4: 'simp [mod_dim]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:381:4: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue]
info: BanachTarski/Rot.lean:382:4: 'exact instDecidableEqFin 2' uses '⊢'!
warning: BanachTarski/Rot.lean:384:4: 'simp [mod_dim]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:384:4: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue]
info: BanachTarski/Rot.lean:385:4: 'exact instDecidableEqFin 1' uses '⊢'!
warning: BanachTarski/Rot.lean:396:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (ax_space ax).inf_orthogonal_eq_bot⏎⏎ simp [iSupIndep]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:399:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ constructor⏎⏎ · simp [Disjoint]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:428:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simpa using bad⏎⏎ · simp [iSup]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:393:6: 'simp [orth]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:395:6: 'exact (ax_space ax).inf_orthogonal_eq_bot' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:401:6: 'intro x' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:403:6: 'intro lhs lhs2' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:404:6: 'apply le_iSup_iff.mp at lhs2' uses '⊢'!
warning: BanachTarski/Rot.lean:406:6: 'simp at th' is a flexible tactic modifying 'th'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:407:6: 'have bad : x ≤ ⊥ := by
rw [← inter]
simp
constructor
· exact th
· exact lhs' uses 'th'!
warning: BanachTarski/Rot.lean:409:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:409:8: Try this:
[apply] simp only [le_inf_iff]
info: BanachTarski/Rot.lean:411:10: 'exact th' uses '⊢'!
warning: BanachTarski/Rot.lean:409:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:409:8: Try this:
[apply] simp only [le_inf_iff]
info: BanachTarski/Rot.lean:412:10: 'exact lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:415:6: 'intro x' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:417:6: 'intro lhs lhs2' uses '⊢'!
warning: BanachTarski/Rot.lean:397:4: 'simp [iSupIndep]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:418:6: 'apply le_iSup_iff.mp at lhs2' uses '⊢'!
warning: BanachTarski/Rot.lean:420:6: 'simp at th' is a flexible tactic modifying 'th'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:421:6: 'have bad : x ≤ ⊥ := by
rw [← inter]
simp
constructor
· exact lhs
· exact th' uses 'th'!
warning: BanachTarski/Rot.lean:423:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:423:8: Try this:
[apply] simp only [le_inf_iff]
info: BanachTarski/Rot.lean:425:10: 'exact lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:423:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:423:8: Try this:
[apply] simp only [le_inf_iff]
info: BanachTarski/Rot.lean:426:10: 'exact th' uses '⊢'!
warning: BanachTarski/Rot.lean:429:4: 'simp [iSup]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:432:4: 'exact Submodule.sup_orthogonal_of_hasOrthogonalProjection' uses '⊢'!
warning: BanachTarski/Rot.lean:444:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:444:4: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.zero_eta, Fin.isValue]
info: BanachTarski/Rot.lean:449:4: 'intro x lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:444:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:444:4: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.zero_eta, Fin.isValue]
info: BanachTarski/Rot.lean:450:4: 'rw [spar_of_orth ax x lhs]' uses '⊢'!
warning: BanachTarski/Rot.lean:444:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:444:4: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.zero_eta, Fin.isValue]
info: BanachTarski/Rot.lean:452:4: 'exact up_mem ax ((rot_iso_plane_to_st ax θ) (operp ax x))' uses '⊢'!
warning: BanachTarski/Rot.lean:454:2: 'simp [Set.MapsTo]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:454:2: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.mk_one, Fin.isValue]
info: BanachTarski/Rot.lean:455:2: 'intro x lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:457:2: 'simp [submods] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:460:2: 'rw [operp_of_ax_space ax x lhs]' uses 'lhs'!
warning: BanachTarski/Rot.lean:454:2: 'simp [Set.MapsTo]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:454:2: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.mk_one, Fin.isValue]
info: BanachTarski/Rot.lean:460:2: 'rw [operp_of_ax_space ax x lhs]' uses '⊢'!
warning: BanachTarski/Rot.lean:457:2: 'simp [submods] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:462:2: 'have : _ := spar_of_ax_space ax x lhs' uses 'lhs'!
warning: BanachTarski/Rot.lean:454:2: 'simp [Set.MapsTo]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:454:2: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.mk_one, Fin.isValue]
info: BanachTarski/Rot.lean:463:2: 'rw [this]' uses '⊢'!
warning: BanachTarski/Rot.lean:454:2: 'simp [Set.MapsTo]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:454:2: Try this:
[apply] simp only [LinearEquiv.coe_coe, LinearIsometryEquiv.coe_toLinearEquiv, Fin.mk_one, Fin.isValue]
info: BanachTarski/Rot.lean:464:2: 'exact lhs' uses '⊢'!
warning: BanachTarski/Rot.lean:457:2: 'simp [submods] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:464:2: 'exact lhs' uses 'lhs'!
warning: BanachTarski/Rot.lean:483:2: 'simp [rot_mat_block_1, rot_mat_block_2]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:484:2: 'exact
LinearMap.toMatrix_directSum_collectedBasis_eq_blockDiagonal' (internal_pr ax) (internal_pr ax) (sm_bases ax)
(sm_bases ax) (hf ax)' uses '⊢'!
warning: BanachTarski/Rot.lean:492:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ !![θ.cos, -θ.sin; θ.sin, θ.cos] := by⏎⏎ have restr_lem: (rot_iso ax θ).restrict (hf ax 0) =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:495:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (rot_iso_plane_to_st ax θ).toLinearMap := by⏎⏎ apply LinearMap.ext⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:511:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [restr_lem]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:516:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [rot_iso_plane_equiv]⏎⏎ let x: (orth ax) := x_B ax⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:519:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have hx: x≠ 0 := x_B_nz ax⏎⏎ have inter: ((plane_o ax).rotation θ).toLinearIsometry.toLinearMap =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:525:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ !![θ.cos, -θ.sin; θ.sin, θ.cos] := (plane_o ax).rotation_eq_matrix_toLin θ hx⏎⏎ have sameorth: (orth_B ax) = ((plane_o ax).basisRightAngleRotation x hx ) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:529:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [x]⏎⏎ rw [sameorth]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:499:4: 'simp [rot_iso_plane_to_st]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:499:4: Try this:
[apply] simp only [Fin.isValue]
info: BanachTarski/Rot.lean:502:4: 'rw [LinearMap.restrict_apply]' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:517:2: 'let x : (orth ax) := x_B ax' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:530:2: 'rw [sameorth]' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:531:2: 'rw [inter]' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:532:2: 'set B := ((plane_o ax).basisRightAngleRotation x hx) with Bdef' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:533:2: 'set R := !![Real.cos θ, -Real.sin θ; Real.sin θ, Real.cos θ]' uses '⊢'!
warning: BanachTarski/Rot.lean:513:2: 'simp [sm_bases]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:534:2: 'exact LinearMap.toMatrix_toLin B B R' uses '⊢'!
error: BanachTarski/Rot.lean:545:8: Tactic `rewrite` failed: Did not find an occurrence of the pattern
(LinearMap.restrict ?m.152 ?hf) ?x
in the target expression
((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯) ⟨x, px⟩ = 1 ⟨x, px⟩
case h
θ : ℝ
ax : ↑S2
x : R3
px : x ∈ ax_space ax
⊢ ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯) ⟨x, px⟩ = 1 ⟨x, px⟩
error: BanachTarski/Rot.lean:538:14: unsolved goals
case a.«_@»._internal._hyg.0.«0».«0»
θ : ℝ
ax : ↑S2
restr_lem : (↑(rot_iso ax θ).toLinearEquiv).restrict ⋯ = 1
⊢ 1 ((fun i ↦ i) ⟨0, ⋯⟩) ((fun i ↦ i) ⟨0, ⋯⟩) = 1
error: BanachTarski/Rot.lean:584:4: unsolved goals
case h.«0»
ax : ↑S2
θ : ℝ
this :
(LinearMap.toMatrix (⋯.collectedBasis (sm_bases ax)) (⋯.collectedBasis (sm_bases ax))) ↑(rot_iso ax θ).toLinearEquiv =
Matrix.blockDiagonal' fun i ↦
(LinearMap.toMatrix (sm_bases ax i) (sm_bases ax i)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯)
⊢ (LinearMap.toMatrix (sm_bases ax 0) (sm_bases ax 0)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯) =
(LinearMap.toMatrix (sm_bases ax 0) (sm_bases ax 0)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯)
error: BanachTarski/Rot.lean:585:4: unsolved goals
case h.«1»
ax : ↑S2
θ : ℝ
this :
(LinearMap.toMatrix (⋯.collectedBasis (sm_bases ax)) (⋯.collectedBasis (sm_bases ax))) ↑(rot_iso ax θ).toLinearEquiv =
Matrix.blockDiagonal' fun i ↦
(LinearMap.toMatrix (sm_bases ax i) (sm_bases ax i)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯)
⊢ (LinearMap.toMatrix (sm_bases ax 1) (sm_bases ax 1)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯) =
(LinearMap.toMatrix (sm_bases ax 1) (sm_bases ax 1)) ((↑(rot_iso ax θ).toLinearEquiv).restrict ⋯)
warning: BanachTarski/Rot.lean:610:2: 'simp [rot_mat_inner, rot_mat_inner_trans]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:611:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Rot.lean:610:2: 'simp [rot_mat_inner, rot_mat_inner_trans]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:612:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:625:11: 'rw [← sq]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:625:11: 'rw [← sq]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:626:4: 'rw [Real.sin_sq_add_cos_sq θ]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:627:4: 'rw [add_comm (Real.cos θ ^ 2)]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:628:4: 'rw [Real.sin_sq_add_cos_sq θ]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:629:4: 'rw [mul_comm]' uses '⊢'!
warning: BanachTarski/Rot.lean:624:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:624:4: Try this:
[apply] simp only [mul_neg, neg_mul, neg_neg, mul_zero, add_zero, mul_one, zero_mul, neg_zero, zero_add]
info: BanachTarski/Rot.lean:631:4: 'rw [Matrix.one_fin_three]' uses '⊢'!
warning: BanachTarski/Rot.lean:632:4: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:633:4: 'rw [Matrix.det_fin_three]' uses '⊢'!
warning: BanachTarski/Rot.lean:632:4: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:635:11: 'rw [← sq]' uses '⊢'!
warning: BanachTarski/Rot.lean:632:4: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:635:11: 'rw [← sq]' uses '⊢'!
warning: BanachTarski/Rot.lean:632:4: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:636:4: 'rw [add_comm]' uses '⊢'!
warning: BanachTarski/Rot.lean:632:4: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:637:4: 'exact Real.sin_sq_add_cos_sq θ' uses '⊢'!
error: BanachTarski/Rot.lean:655:12: Tactic `rewrite` failed: Did not find an occurrence of the pattern
@Eq (Fin ?m.1459) ?m.1460 ?m.1461
in the target expression
@Eq (mod_dim 0) 0 1
case left.«0».«1»
eqims : 0 = 1
⊢ False
error: BanachTarski/Rot.lean:655:12: Tactic `rewrite` failed: Did not find an occurrence of the pattern
@Eq (Fin ?m.1459) ?m.1460 ?m.1461
in the target expression
@Eq (mod_dim 0) 1 0
case left.«1».«0»
eqims : 1 = 0
⊢ False
warning: BanachTarski/Rot.lean:758:12: declaration uses `sorry`
warning: BanachTarski/Rot.lean:679:6: declaration uses `sorry`
warning: BanachTarski/Rot.lean:687:12: This simp argument is unused:
Submodule.coe_subtypeₗᵢ
Hint: Omit it from the simp argument list.
simp ̵[̵S̵u̵b̵m̵o̵d̵u̵l̵e̵.̵c̵o̵e̵_̵s̵u̵b̵t̵y̵p̵e̵ₗ̵ᵢ̵]̵
Note: This linter can be disabled with `set_option linter.unusedSimpArgs false`
warning: BanachTarski/Rot.lean:692:12: This simp argument is unused:
Submodule.coe_subtypeₗᵢ
Hint: Omit it from the simp argument list.
simp ̵[̵S̵u̵b̵m̵o̵d̵u̵l̵e̵.̵c̵o̵e̵_̵s̵u̵b̵t̵y̵p̵e̵ₗ̵ᵢ̵]̵
Note: This linter can be disabled with `set_option linter.unusedSimpArgs false`
warning: BanachTarski/Rot.lean:687:6: 'simp [Submodule.coe_subtypeₗᵢ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:687:6: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Fin.mk_one]
info: BanachTarski/Rot.lean:690:6: 'rw [real_inner_comm]' uses '⊢'!
warning: BanachTarski/Rot.lean:687:6: 'simp [Submodule.coe_subtypeₗᵢ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:687:6: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Fin.mk_one]
info: BanachTarski/Rot.lean:691:6: 'exact h1' uses '⊢'!
warning: BanachTarski/Rot.lean:692:6: 'simp [Submodule.coe_subtypeₗᵢ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:692:6: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Fin.zero_eta]
info: BanachTarski/Rot.lean:695:6: 'exact h v v.property' uses '⊢'!
warning: BanachTarski/Rot.lean:704:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:704:8: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_zero, Submodule.coe_norm]
info: BanachTarski/Rot.lean:709:8: 'rw [norm_smul]' uses '⊢'!
warning: BanachTarski/Rot.lean:722:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:722:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_one, Matrix.cons_val_fin_one, LinearIsometryEquiv.norm_map, Submodule.coe_norm]
info: BanachTarski/Rot.lean:726:8: 'rw [norm_smul]' uses '⊢'!
warning: BanachTarski/Rot.lean:722:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:722:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_one, Matrix.cons_val_fin_one, LinearIsometryEquiv.norm_map, Submodule.coe_norm]
info: BanachTarski/Rot.lean:736:8: 'rw [h_coerce1] at ⊢' uses '⊢'!
warning: BanachTarski/Rot.lean:722:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:722:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_one, Matrix.cons_val_fin_one, LinearIsometryEquiv.norm_map, Submodule.coe_norm]
info: BanachTarski/Rot.lean:737:8: 'rw [h_coerce2]' uses '⊢'!
warning: BanachTarski/Rot.lean:744:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:744:8: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_zero, Fin.mk_one, Matrix.cons_val_one, Matrix.cons_val_fin_one, Submodule.coe_inner]
info: BanachTarski/Rot.lean:748:8: 'exact h' uses '⊢'!
warning: BanachTarski/Rot.lean:749:8: 'simp [Orientation.coe_basisRightAngleRotation]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:749:8: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Orientation.coe_basisRightAngleRotation, Nat.succ_eq_add_one,
Nat.reduceAdd, Matrix.cons_val_one, Matrix.cons_val_fin_one, Fin.zero_eta, Matrix.cons_val_zero,
Submodule.coe_inner]
info: BanachTarski/Rot.lean:750:8: 'exact (plane_o ax).inner_rightAngleRotation_self (x_B ax)' uses '⊢'!
warning: BanachTarski/Rot.lean:772:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:772:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:777:4: 'rw [← h_eq]' uses '⊢'!
warning: BanachTarski/Rot.lean:772:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:772:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:778:4: 'exact collected_orthonormal.1 (finToSigma i)' uses '⊢'!
warning: BanachTarski/Rot.lean:780:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:780:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:788:4: 'rw [← h_eq_i, ← h_eq_j]' uses '⊢'!
warning: BanachTarski/Rot.lean:780:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:780:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:789:4: 'apply collected_orthonormal.2' uses '⊢'!
warning: BanachTarski/Rot.lean:780:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:780:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:790:4: 'intro h' uses '⊢'!
warning: BanachTarski/Rot.lean:780:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:780:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:791:4: 'apply hij' uses '⊢'!
warning: BanachTarski/Rot.lean:780:4: 'simp [Module.Basis.reindex]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:780:4: Try this:
[apply] simp only [Module.Basis.coe_reindex, DirectSum.IsInternal.collectedBasis_coe, Equiv.symm_symm,
Function.comp_apply]
info: BanachTarski/Rot.lean:792:4: 'exact Equiv.injective finToSigma h' uses '⊢'!
warning: BanachTarski/Rot.lean:804:2: 'simp [COB_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:805:2: 'exact LinearMap.toMatrix_id_eq_basis_toMatrix Basis3.toBasis (COB ax).toBasis' uses '⊢'!
warning: BanachTarski/Rot.lean:823:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ constructor⏎⏎ · apply mul_mem⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:826:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · apply mul_mem⏎⏎ · have pprop := (⟨(COB_mat ax), cob_is_orth⟩:Matrix.orthogonalGroup (Fin 3) ℝ )⁻¹.property⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:830:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simpa using pprop⏎⏎ ---⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:851:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at this⏎⏎ rw [this]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:820:2: 'apply Matrix.mem_specialOrthogonalGroup_iff.mpr' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:824:4: 'apply mul_mem' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:825:6: 'apply mul_mem' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:832:6: 'exact innerspecial.left' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:834:4: 'exact cob_is_orth' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:837:2: 'rw [mul_comm]' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:838:2: 'rw [← mul_assoc]' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:839:2: 'have : Matrix.det (COB_mat ax) * (Matrix.det (COB_mat ax))⁻¹ = 1 :=
by
apply mul_inv_cancel₀
have : (COB_mat ax).det = 1 ∨ (COB_mat ax).det = -1 :=
by
rw [cob_mat_other_repr]
rw [← Module.Basis.det_apply]
have detlem : (COB ax).toBasis.det Basis3.toBasis = (1 : ℝ) ∨ (COB ax).toBasis.det Basis3.toBasis = (-1 : ℝ) :=
OrthonormalBasis.det_to_matrix_orthonormalBasis_real (COB ax) Basis3
exact detlem
by_contra eqz
rw [eqz] at this
simp at this' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:852:2: 'rw [this]' uses '⊢'!
warning: BanachTarski/Rot.lean:818:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:854:2: 'exact innerspecial.right' uses '⊢'!
warning: BanachTarski/Rot.lean:860:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:866:2: 'set C := COB_mat ax with Cdef' uses '⊢'!
warning: BanachTarski/Rot.lean:860:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:868:2: 'let el := (⟨C, isorth⟩ : Matrix.orthogonalGroup (Fin 3) ℝ)' uses '⊢'!
warning: BanachTarski/Rot.lean:860:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:871:2: 'rw [cdef]' uses '⊢'!
warning: BanachTarski/Rot.lean:860:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:872:2: 'rw [unitary_invs_coe]' uses '⊢'!
warning: BanachTarski/Rot.lean:877:2: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:880:6: 'rw [Real.cos_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:877:2: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:882:6: 'rw [Real.sin_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:877:2: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:885:6: 'rw [Real.sin_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:877:2: 'simp [rot_mat_inner]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:886:6: 'rw [Real.cos_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:901:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [mul_assoc ((COB_mat ax)⁻¹ * rot_mat_inner s )]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:892:2: 'rw [← mul_assoc ((COB_mat ax)⁻¹ * rot_mat_inner s * COB_mat ax)]' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:893:2: 'rw [← mul_assoc ((COB_mat ax)⁻¹ * rot_mat_inner s * COB_mat ax)]' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:894:2: 'have : COB_mat ax * (COB_mat ax)⁻¹ = 1 := by
set el := COB_mat ax
have : el ∈ Matrix.orthogonalGroup (Fin 3) ℝ := by exact COB_mat_is_ortho ax
let E : Matrix.orthogonalGroup (Fin 3) ℝ := ⟨el, this⟩
change E.val * E.val⁻¹ = 1
rw [unitary_invs_coe]
simp' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:902:2: 'rw [mul_assoc ((COB_mat ax)⁻¹ * rot_mat_inner s)]' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:903:2: 'rw [this]' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:905:2: 'rw [mul_assoc (COB_mat ax)⁻¹]' uses '⊢'!
warning: BanachTarski/Rot.lean:891:2: 'simp [rot_mat]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:906:2: 'rw [rot_mat_inner_comp_add]' uses '⊢'!
warning: BanachTarski/Rot.lean:912:2: 'simp [f]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:912:2: Try this:
[apply] simp only [Function.comp_apply]
info: BanachTarski/Rot.lean:913:2: 'rw [smul_smul]' uses '⊢'!
warning: BanachTarski/Rot.lean:922:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:922:4: Try this:
[apply] simp only [Function.iterate_zero, CharP.cast_eq_zero, zero_mul]
info: BanachTarski/Rot.lean:924:4: 'funext w' uses '⊢'!
warning: BanachTarski/Rot.lean:941:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:941:4: Try this:
[apply] simp only [Function.iterate_zero, CharP.cast_eq_zero, zero_mul]
info: BanachTarski/Rot.lean:942:4: 'rw [triv_rot_iso]' uses '⊢'!
warning: BanachTarski/Rot.lean:976:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [toMatrix_reindex]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:980:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [block_eq]⏎⏎ ext i j⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:986:4: 'simp [fTS_fun]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:986:4: Try this:
[apply] simp only [Fin.zero_eta, Fin.isValue, Fin.reduceFinMk, Matrix.of_apply, Matrix.cons_val', Matrix.cons_val,
Matrix.cons_val_fin_one, Matrix.cons_val_zero, Equiv.symm_symm, Matrix.submatrix_apply, Equiv.ofBijective_apply]
info: BanachTarski/Rot.lean:987:4: 'rw [Matrix.blockDiagonal'_apply_ne]' uses '⊢'!
warning: BanachTarski/Rot.lean:991:4: 'simp [fTS_fun]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:991:4: Try this:
[apply] simp only [Fin.mk_one, Fin.isValue, Fin.reduceFinMk, Matrix.of_apply, Matrix.cons_val', Matrix.cons_val,
Matrix.cons_val_fin_one, Matrix.cons_val_one, Matrix.cons_val_zero, Equiv.symm_symm, Matrix.submatrix_apply,
Equiv.ofBijective_apply]
info: BanachTarski/Rot.lean:992:4: 'rw [Matrix.blockDiagonal'_apply_ne]' uses '⊢'!
warning: BanachTarski/Rot.lean:994:4: 'simp [fTS_fun]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:994:4: Try this:
[apply] simp only [Fin.reduceFinMk, Fin.zero_eta, Fin.isValue, Matrix.of_apply, Matrix.cons_val',
Matrix.cons_val_zero, Matrix.cons_val_fin_one, Matrix.cons_val, Matrix.cons_val_one, Equiv.symm_symm,
Matrix.submatrix_apply, Equiv.ofBijective_apply]
info: BanachTarski/Rot.lean:995:4: 'rw [Matrix.blockDiagonal'_apply_ne]' uses '⊢'!
warning: BanachTarski/Rot.lean:997:4: 'simp [fTS_fun]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:997:4: Try this:
[apply] simp only [Fin.reduceFinMk, Fin.mk_one, Fin.isValue, Matrix.of_apply, Matrix.cons_val', Matrix.cons_val_one,
Matrix.cons_val_zero, Matrix.cons_val_fin_one, Matrix.cons_val, Equiv.symm_symm, Matrix.submatrix_apply,
Equiv.ofBijective_apply]
info: BanachTarski/Rot.lean:998:4: 'rw [Matrix.blockDiagonal'_apply_ne]' uses '⊢'!
warning: BanachTarski/Rot.lean:1011:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [rot]⏎⏎ simp [rot_mat]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1015:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←Matrix.mulVec_mulVec]⏎⏎ simp [COB_mat]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1020:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [sreprof]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1027:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←Matrix.mulVec_mulVec]⏎⏎ rw [inner_as_to_matrix]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1029:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [inner_as_to_matrix]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1033:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1037:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (LinearMap.toMatrix (COB ax).toBasis Basis3.toBasis 1) := by⏎⏎ have : (LinearMap.id: (R3 →ₗ[ℝ] R3)) = 1 := rfl⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1042:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [LinearMap.toMatrix_id_eq_basis_toMatrix (COB ax).toBasis Basis3.toBasis]⏎⏎ have := Module.Basis.invertibleToMatrix (COB ax).toBasis Basis3.toBasis⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1047:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set M21 := ((COB ax).toBasis.toMatrix Basis3.toBasis) with M21def⏎⏎ rw [←mul_one M12]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1059:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [Module.Basis.toMatrix_mul_toMatrix_flip]⏎⏎ rw [this]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1061:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [this]⏎⏎ rw [orth_toMatrix_mulVec_repr (COB ax) Basis3 (1: R3 →ₗ[ℝ] R3) ]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1013:2: 'rw [← Matrix.mulVec_mulVec]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1014:2: 'rw [← Matrix.mulVec_mulVec]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1021:2: 'rw [sreprof]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1022:2: 'rw [← mul_assoc ((LinearMap.toMatrix Basis3.toBasis (COB ax).toBasis) 1)⁻¹]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1023:2: 'rw [← Matrix.mulVec_mulVec]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1024:2: 'rw [orth_toMatrix_mulVec_repr Basis3 (COB ax) (1 : R3 →ₗ[ℝ] R3)]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1026:2: 'rw [← Matrix.mulVec_mulVec]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1028:2: 'rw [inner_as_to_matrix]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1031:2: 'rw [orth_toMatrix_mulVec_repr (COB ax) (COB ax) (rot_iso ax T).toLinearMap]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1031:2: 'rw [orth_toMatrix_mulVec_repr (COB ax) (COB ax) (rot_iso ax T).toLinearMap]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1035:2: 'have :
((LinearMap.toMatrix Basis3.toBasis (COB ax).toBasis) 1)⁻¹ = (LinearMap.toMatrix (COB ax).toBasis Basis3.toBasis 1) :=
by
have : (LinearMap.id : (R3 →ₗ[ℝ] R3)) = 1 := rfl
rw [← this]
rw [LinearMap.toMatrix_id_eq_basis_toMatrix Basis3.toBasis (COB ax).toBasis]
rw [LinearMap.toMatrix_id_eq_basis_toMatrix (COB ax).toBasis Basis3.toBasis]
have := Module.Basis.invertibleToMatrix (COB ax).toBasis Basis3.toBasis
symm
set M12 := (Basis3.toBasis.toMatrix (COB ax).toBasis) with M12def
set M21 := ((COB ax).toBasis.toMatrix Basis3.toBasis) with M21def
rw [← mul_one M12]
have idd : 1 = M21 * M21⁻¹ := by simp
rw [idd]
rw [← mul_assoc]
nth_rewrite 2 [← one_mul M21⁻¹]
apply congrArg (fun x ↦ x * M21⁻¹)
rw [M12def, M21def]
set B1 := Basis3.toBasis
set B2 := (COB ax).toBasis
rw [Module.Basis.toMatrix_mul_toMatrix_flip]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1060:2: 'rw [this]' uses '⊢'!
warning: BanachTarski/Rot.lean:1010:2: 'simp [rot]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Rot.lean:1010:2: Try this:
[apply] simp only [WithLp.equiv_apply, WithLp.equiv_symm_apply]
info: BanachTarski/Rot.lean:1062:2: 'rw [orth_toMatrix_mulVec_repr (COB ax) Basis3 (1 : R3 →ₗ[ℝ] R3)]' uses '⊢'!
error: Lean exited with code 1
✖ [8266/8270] Building BanachTarski.FixedPointLemma (37s)
trace: .> LEAN_PATH=/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/Cli/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/batteries/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/Qq/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/aesop/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/proofwidgets/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/importGraph/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/LeanSearchClient/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/plausible/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/packages/mathlib/.lake/build/lib/lean:/home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean /home/nfr/.elan/toolchains/leanprover--lean4---v4.29.0/bin/lean /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/BanachTarski/FixedPointLemma.lean -o /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean/BanachTarski/FixedPointLemma.olean -i /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/lib/lean/BanachTarski/FixedPointLemma.ilean -c /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/ir/BanachTarski/FixedPointLemma.c --setup /home/nfr/actions-runner/_work/doc-verification-bridge/doc-verification-bridge/experiments/repos/banach-tarski/.lake/build/ir/BanachTarski/FixedPointLemma.setup.json --json
warning: BanachTarski/FixedPointLemma.lean:9:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎-/⏎⏎-- Section Goal:⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:49:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [cpoly]⏎⏎ simp only [as_complex]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:48:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:51:2: 'rw [mapMatrix_is_map]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:48:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:52:2: 'rw [Matrix.charpoly_map]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:48:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:53:2: 'apply congrArg' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:48:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:54:2: 'exact same_char_0 g' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:74:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ exact Eq.trans l1.symm l4⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:99:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact lhs⏎⏎ have this1: z ∈ spectrum ℂ (as_complex g.val) := Matrix.mem_spectrum_of_isRoot_charpoly isrt⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:142:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←this, orth_mem1]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:145:2: 'simp [Metric.sphere] at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:146:2: 'exact this' uses 'this'!
warning: BanachTarski/FixedPointLemma.lean:155:2: 'simp [CONJ] at lhs2' is a flexible tactic modifying 'lhs2'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:156:2: 'symm at lhs2' uses 'lhs2'!
warning: BanachTarski/FixedPointLemma.lean:155:2: 'simp [CONJ] at lhs2' is a flexible tactic modifying 'lhs2'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:157:2: 'have : _ := Complex.conj_eq_iff_real.mp lhs2' uses 'lhs2'!
warning: BanachTarski/FixedPointLemma.lean:161:2: 'simp at normone' is a flexible tactic modifying 'normone'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:169:4: 'rw [c2.left] at normone' uses 'normone'!
warning: BanachTarski/FixedPointLemma.lean:188:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [CONJ]⏎⏎ have l1: (cpoly g).roots = ((cpoly g).map CONJ).roots := by nth_rewrite 1 [l0]; rfl⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:198:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ · exact num_roots_eq_deg g⏎⏎ exact Eq.trans l1 l2.symm⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:184:4: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:184:4: Try this:
[apply] simp only [Polynomial.coeff_map]
info: BanachTarski/FixedPointLemma.lean:186:4: 'rw [← px]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:193:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:193:6: Try this:
[apply] simp only [ne_eq, Polynomial.map_eq_zero]
info: BanachTarski/FixedPointLemma.lean:194:6: 'by_contra bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:216:6: 'simp [CONJ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:217:6: 'exact RingHom.injective (starRingEnd ℂ)' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:225:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ ((cpoly g).roots.count z = 1) := by⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:229:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ set S:= (cpoly g).roots with Sdef⏎⏎ intro zin notones⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:238:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact bad zin⏎⏎ have c2: Multiset.count z S ≠ 1 := by exact bad⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:241:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ have bndcnj: Multiset.count (CONJ z) S ≥ 2 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:248:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ let Pconj := fun w ↦ w = (z : ℂ) ∧ w = CONJ z⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:254:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact Multiset.filter_add_filter (· = z) (· = CONJ z) S⏎⏎ have a7: Multiset.filter P S = Multiset.filter (· = z) S + Multiset.filter (· = CONJ z) S := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:265:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact a6⏎⏎ have a8 : Multiset.card (Multiset.filter P S) ≥ 4 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:281:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ linarith⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:252:4: 'simp [P, Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:253:4: 'exact Multiset.filter_add_filter (· = z) (· = CONJ z) S' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:257:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:257:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:258:6: 'intro a lhs1 lhs2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:257:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:257:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:259:6: 'rw [lhs2]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:257:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:257:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:260:6: 'apply flem2 g zin notones' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:262:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:263:4: 'symm at a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:262:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:264:4: 'exact a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:292:2: 'simp [CONJ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:293:2: 'rw [Complex.mul_conj]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:292:2: 'simp [CONJ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:294:2: 'rw [Complex.normSq_eq_norm_sq]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:292:2: 'simp [CONJ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:296:2: 'left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:292:2: 'simp [CONJ]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:297:2: 'exact eig_norms g z lhs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:312:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:314:2: 'rw [mapMatrix_is_map]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:312:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:315:2: 'rw [Matrix.charpoly_map]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:312:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:316:2: 'rw [same_char_0]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:312:2: 'simp [cpoly]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:317:2: 'exact cast_root_mult1 g' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:373:42: `Matrix.mul_eq_one_comm` has been deprecated: Use `mul_eq_one_comm` instead
Note: The updated constant is in a different namespace. Dot notation may need to be changed (e.g., from `x.mul_eq_one_comm` to `mul_eq_one_comm x`).
warning: BanachTarski/FixedPointLemma.lean:383:22: `Matrix.mul_eq_one_comm` has been deprecated: Use `mul_eq_one_comm` instead
Note: The updated constant is in a different namespace. Dot notation may need to be changed (e.g., from `x.mul_eq_one_comm` to `mul_eq_one_comm x`).
warning: BanachTarski/FixedPointLemma.lean:360:35: 'simp_all +decide [ Matrix.charpoly, Matrix.det_fin_three ]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:362:4: 'have h_coeff : ∀ i j, (g.val i j : ℂ) = if i = j then 1 else 0 := by
-- By comparing coefficients of $X^2$ on both sides of the equation,
-- we can derive that the sum of the diagonal elements of $g$ must be 3.
have h_diag_sum : (g.val 0 0 : ℂ) + (g.val 1 1 : ℂ) + (g.val 2 2 : ℂ) = 3 :=
by
have h₁ := congr_arg (Polynomial.eval 0) h_roots
have h₂ := congr_arg (Polynomial.eval 1) h_roots
have h₃ := congr_arg (Polynomial.eval (-1)) h_roots
norm_num [Complex.ext_iff] at *
linarith!
-- Since $g$ is orthogonal, we have $g^T g = I$.
have h_orthogonal : (g.val.transpose * g.val : Matrix (Fin 3) (Fin 3) ℝ) = 1 := by have := g.2.1;
simp_all +decide [Matrix.mul_eq_one_comm]; exact this.2;
-- Since $g$ is orthogonal, we have $g^T g = I$.
-- Therefore, the sum of the squares of the entries in each row is 1.
have h_row_squares : ∀ i, (g.val i 0 : ℝ) ^ 2 + (g.val i 1 : ℝ) ^ 2 + (g.val i 2 : ℝ) ^ 2 = 1 :=
by
intro i
have := congr_fun (congr_fun h_orthogonal i) i
simp_all +decide [Matrix.mul_apply, Fin.sum_univ_three]
have :=
congr_fun
(congr_fun
(show (g.val * g.val.transpose : Matrix (Fin 3) (Fin 3) ℝ) = 1 from by
simpa [Matrix.mul_eq_one_comm] using h_orthogonal)
i)
i
simp_all +decide [Matrix.mul_apply, Fin.sum_univ_three]
ring_nf at *
aesop
-- Since the sum of the squares of the entries in each row is 1
-- and the sum of the diagonal elements is 3, each diagonal element must be 1.
-- Porting note: `refine'` needed here instead of `refine` due to placeholder synthesis
have h_diag_one : ∀ i, (g.val i i : ℝ) = 1 := by norm_cast at *; simp_all +decide [Fin.forall_fin_succ];
refine' ⟨_, _, _⟩ <;>
nlinarith only [h_diag_sum, h_row_squares, sq_nonneg ((g.val 0 0 : ℝ) - 1), sq_nonneg ((g.val 1 1 : ℝ) - 1),
sq_nonneg ((g.val 2 2 : ℝ) - 1)]
simp_all +decide [Fin.forall_fin_succ];
exact
⟨⟨by nlinarith only [h_row_squares.1], by nlinarith only [h_row_squares.1]⟩,
⟨by nlinarith only [h_row_squares.2.1], by nlinarith only [h_row_squares.2.1]⟩, by
nlinarith only [h_row_squares.2.2], by nlinarith only [h_row_squares.2.2]⟩' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:373:23: 'simp_all +decide [ Matrix.mul_eq_one_comm ]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:374:8: 'exact this.2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:380:8: 'simp_all +decide [Matrix.mul_apply, Fin.sum_univ_three]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:381:8: 'have :=
congr_fun
(congr_fun
(show (g.val * g.val.transpose : Matrix (Fin 3) (Fin 3) ℝ) = 1 from by
simpa [Matrix.mul_eq_one_comm] using h_orthogonal)
i)
i' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:391:24: 'simp_all +decide [ Fin.forall_fin_succ ]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:392:8: 'refine' ⟨_, _, _⟩' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:396:6: 'simp_all +decide [ Fin.forall_fin_succ ]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:397:6: 'exact
⟨⟨by nlinarith only [h_row_squares.1], by nlinarith only [h_row_squares.1]⟩,
⟨by nlinarith only [h_row_squares.2.1], by nlinarith only [h_row_squares.2.1]⟩, by
nlinarith only [h_row_squares.2.2], by nlinarith only [h_row_squares.2.2]⟩' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:360:35: 'simp_all +decide [ Matrix.charpoly, Matrix.det_fin_three ]' is a flexible tactic modifying '⊢'. Try 'simp_all?' and use the suggested 'simp_all only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:403:4: 'ext i j' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:469:6: `_root_.not_imp` has been deprecated: Use `Classical.not_imp` instead
warning: BanachTarski/FixedPointLemma.lean:486:4: 'simp [P, Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:487:4: 'exact Multiset.filter_add_filter (· = 1) (· = -1) S' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:491:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:491:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:492:6: 'intro a lhs1 lhs2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:491:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:491:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:493:6: 'rw [lhs2]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:497:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:498:4: 'symm at a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:497:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:499:4: 'exact a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:505:4: 'simp at a7' is a flexible tactic modifying 'a7'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:505:4: Try this:
[apply] simp only [ge_iff_le] at a7
info: BanachTarski/FixedPointLemma.lean:506:4: 'nth_rewrite 2 [← Multiset.countP_eq_card_filter] at a7' uses 'a7'!
warning: BanachTarski/FixedPointLemma.lean:505:4: 'simp at a7' is a flexible tactic modifying 'a7'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:505:4: Try this:
[apply] simp only [ge_iff_le] at a7
info: BanachTarski/FixedPointLemma.lean:507:4: 'nth_rewrite 2 [← Multiset.countP_eq_card_filter] at a7' uses 'a7'!
warning: BanachTarski/FixedPointLemma.lean:509:6: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:510:6: 'apply Multiset.countP_congr Sdef' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:509:6: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:511:6: 'intro x _' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:516:6: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:517:6: 'apply Multiset.countP_congr Sdef' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:516:6: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:518:6: 'intro x _' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:505:4: 'simp at a7' is a flexible tactic modifying 'a7'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:505:4: Try this:
[apply] simp only [ge_iff_le] at a7
info: BanachTarski/FixedPointLemma.lean:522:4: 'rw [a41, a42] at a7' uses 'a7'!
warning: BanachTarski/FixedPointLemma.lean:505:4: 'simp at a7' is a flexible tactic modifying 'a7'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:505:4: Try this:
[apply] simp only [ge_iff_le] at a7
info: BanachTarski/FixedPointLemma.lean:523:4: 'rw [a7]' uses 'a7'!
warning: BanachTarski/FixedPointLemma.lean:534:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:534:8: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_false_eq_true, List.nodup_nil,
and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:535:8: 'apply flem2 g' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:534:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:534:8: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_false_eq_true, List.nodup_nil,
and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:536:10: 'exact pw.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:534:8: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:534:8: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_false_eq_true, List.nodup_nil,
and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:537:10: 'exact (not_or.mp pw.right)' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:549:6: 'rcases (em (a = w)) with aw1 | aw2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:550:8: 'rw [aw1]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:551:8: 'rw [a511]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:552:8: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:555:10: 'exact pw.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:557:10: 'exact (not_or.mp pw.right)' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:559:6: 'rcases (em (a = CONJ w)) with acw1 | acw2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:560:8: 'rw [acw1]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:561:8: 'rw [a512]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:562:8: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:565:10: 'exact conj_roots_2 g w pw.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:568:12: 'by_contra bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:569:12: 'apply congrArg CONJ at bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:570:12: 'simp [CONJ] at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:571:12: 'exact pw.right (Or.inl bad)' uses 'bad'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:571:12: 'exact pw.right (Or.inl bad)' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:572:12: 'by_contra bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:573:12: 'apply congrArg CONJ at bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:574:12: 'simp [CONJ] at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:575:12: 'exact pw.right (Or.inr bad)' uses 'bad'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:575:12: 'exact pw.right (Or.inr bad)' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:578:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:578:10: Try this:
[apply] simp only [List.mem_cons, List.not_mem_nil, or_false, not_or]
info: BanachTarski/FixedPointLemma.lean:580:12: 'exact aw2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:578:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:578:10: Try this:
[apply] simp only [List.mem_cons, List.not_mem_nil, or_false, not_or]
info: BanachTarski/FixedPointLemma.lean:581:12: 'exact acw2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:530:6: 'simp
--have : List.count w [w, CONJ w] = 1' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:530:6: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:582:8: 'rw [bb]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:587:4: 'simp at a52' is a flexible tactic modifying 'a52'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:587:4: Try this:
[apply] simp only [ge_iff_le] at a52
info: BanachTarski/FixedPointLemma.lean:588:4: 'exact a52' uses 'a52'!
warning: BanachTarski/FixedPointLemma.lean:609:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact tight_space_lemma g lhs⏎⏎ let Pconj := fun w ↦ w = ((1 : ℂ)) ∧ w = -1⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:615:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact Multiset.filter_add_filter (· = 1) (· = -1) S⏎⏎ have a7: Multiset.filter P S = Multiset.filter (· = 1) S + Multiset.filter (· = -1) S := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:622:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num⏎⏎ rw [a71] at a6⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:627:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact a6⏎⏎ have a41 : Multiset.countP (fun x ↦ x = 1) S = Multiset.count 1 S := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:634:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ tauto⏎⏎ have a42 : Multiset.countP (fun x ↦ x = -1) S = Multiset.count (-1) S := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:641:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ tauto⏎⏎ have : Multiset.card S = Multiset.count 1 S + Multiset.count (-1) S := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:648:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [Multiset.countP_eq_card_filter]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:650:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎⏎⏎ simp only [S] at this⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:613:4: 'simp [P, Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:614:4: 'exact Multiset.filter_add_filter (· = 1) (· = -1) S' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:618:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:618:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:619:6: 'intro a lhs1 lhs2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:618:6: 'simp [Pconj]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:618:6: Try this:
[apply] simp only [Multiset.filter_eq_nil]
info: BanachTarski/FixedPointLemma.lean:620:6: 'rw [lhs2]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:624:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:625:4: 'symm at a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:624:4: 'simp at a6' is a flexible tactic modifying 'a6'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:626:4: 'exact a6' uses 'a6'!
warning: BanachTarski/FixedPointLemma.lean:629:4: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:630:4: 'apply Multiset.countP_congr Sdef' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:629:4: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:631:4: 'intro x _' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:636:4: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:637:4: 'apply Multiset.countP_congr Sdef' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:636:4: 'simp [Multiset.count]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:638:4: 'intro x _' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:657:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎lemma spec_lem (g : SO3) : g ≠ 1 → ((cpoly g).roots.count 1) = 1 := by⏎⏎ intro gnotone⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:663:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ apply Multiset.count_le_card⏎⏎ by_contra bad⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:758:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num⏎⏎ apply Multiset.eq_of_le_of_card_le form_le⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:762:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [num_roots_eq_3 g]⏎⏎ rw [form]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:794:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num⏎⏎ have :_:= Multiset.card_le_card this⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:799:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num at this⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:812:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [num_roots_eq_3 g]⏎⏎ apply Multiset.le_iff_count.mpr⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:835:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ --⏎⏎ rcases (em (a = -1)) with imo | nimo⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:877:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [form]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:884:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num at negdet⏎⏎ have no_min_one: mcount = 0 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:887:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ let cset := {x:ℂ | x ∈ (cpoly g).roots ∧ x ≠ 1 ∧ x ≠ -1}⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:903:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact that lhs⏎⏎ by_contra ne1⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:911:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ apply neq3 other⏎⏎ set c := Classical.choose ne⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:918:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have conjdiff_c : CONJ c ≠ c := (flem2 g cspec.left cspec.right).symm⏎⏎ have countnot2: count ≠ 2 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:931:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp only [cset] at allone⏎⏎ have simpl: ∀ (x : ℂ), x ∈ (cpoly g).roots → 1 = x := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:941:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact allone this⏎⏎ have other:_:= Multiset.count_eq_card.mpr simpl⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:946:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ apply neq3 other⏎⏎ set c := Classical.choose ne⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:959:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp only [mcount] at no_min_one⏎⏎ have bbad:_:= Multiset.count_ne_zero.mpr havemin⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:963:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num at bbad⏎⏎ have countnot0: count ≠ 0 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1010:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ have := Multiset.card_le_card this⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1014:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at this⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1016:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎⏎⏎ set c2 := Classical.choose ne2⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1055:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact bbb⏎⏎ symm at so⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1063:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact cspec2.right.right.left⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1065:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎⏎⏎ have bigsub : big ≤ (cpoly g).roots := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1111:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ have card_bound: big.card ≤ (cpoly g).roots.card := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:1119:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ linarith [this, (num_roots_eq_3 g)]⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/FixedPointLemma.lean:687:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:687:10: Try this:
[apply] simp only [count_roots, Multiset.coe_count, List.count_cons_self, List.nodup_cons, List.not_mem_nil,
not_false_eq_true, List.nodup_nil, and_self, List.mem_cons, or_false, List.count_eq_one_of_mem, Nat.reduceAdd]
info: BanachTarski/FixedPointLemma.lean:688:10: 'exact meq3' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:686:10: 'simp [mcount] at meq3' is a flexible tactic modifying 'meq3'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:686:10: Try this:
[apply] simp only [count_roots, Multiset.coe_count, List.count_cons_self, List.nodup_cons, List.not_mem_nil,
not_false_eq_true, List.nodup_nil, and_self, List.mem_cons, or_false, List.count_eq_one_of_mem,
Nat.reduceAdd] at meq3
info: BanachTarski/FixedPointLemma.lean:688:10: 'exact meq3' uses 'meq3'!
warning: BanachTarski/FixedPointLemma.lean:691:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:691:10: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:692:10: 'symm' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:691:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:691:10: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:693:10: 'apply List.count_eq_zero.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:691:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:691:10: Try this:
[apply] simp only [Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:694:10: 'by_contra inconst' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:695:10: 'simp at inconst' is a flexible tactic modifying 'inconst'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:696:10: 'rw [inconst] at notroot' uses 'inconst'!
warning: BanachTarski/FixedPointLemma.lean:717:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:717:6: Try this:
[apply] simp only [count_roots]
info: BanachTarski/FixedPointLemma.lean:718:6: 'exact this' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:716:6: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:716:6: Try this:
[apply] simp only [count_roots] at this
info: BanachTarski/FixedPointLemma.lean:718:6: 'exact this' uses 'this'!
warning: BanachTarski/FixedPointLemma.lean:729:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:729:10: Try this:
[apply] simp only [count_roots, ge_iff_le, Nat.reduceLeDiff]
info: BanachTarski/FixedPointLemma.lean:731:10: 'exact d1' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:730:10: 'simp at d1' is a flexible tactic modifying 'd1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:731:10: 'exact d1' uses 'd1'!
warning: BanachTarski/FixedPointLemma.lean:736:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:736:10: Try this:
[apply] simp only [count_roots, ge_iff_le, Nat.reduceLeDiff]
info: BanachTarski/FixedPointLemma.lean:738:10: 'exact d1' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:737:10: 'simp at d1' is a flexible tactic modifying 'd1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:738:10: 'exact d1' uses 'd1'!
warning: BanachTarski/FixedPointLemma.lean:741:8: 'simp at css2' is a flexible tactic modifying 'css2'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:742:8: 'have form : (cpoly g).roots = Multiset.ofList [-1, 1, 1] :=
by
have form_le : (cpoly g).roots ≤ Multiset.ofList [-1, 1, 1] :=
by
apply Multiset.le_iff_count.mpr
intro a
rcases (em (a ∈ (cpoly g).roots)) with isroot | notroot
· rcases css a isroot with e1 | e2
· rw [e1]
simp
rw [css2]
norm_num
· rw [e2]
rw [misone]
norm_num
· have : _ := Multiset.count_eq_zero_of_notMem notroot
rw [this]
norm_num
apply Multiset.eq_of_le_of_card_le form_le
simp
rw [num_roots_eq_3 g]' uses 'css2'!
warning: BanachTarski/FixedPointLemma.lean:749:16: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:749:16: Try this:
[apply] simp only [count_roots, Multiset.coe_count]
info: BanachTarski/FixedPointLemma.lean:750:16: 'rw [css2]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:760:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:760:10: Try this:
[apply] simp only [Multiset.coe_card, List.length_cons, List.length_nil, zero_add, Nat.reduceAdd]
info: BanachTarski/FixedPointLemma.lean:761:10: 'rw [num_roots_eq_3 g]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:771:8: 'simp at bbad' is a flexible tactic modifying 'bbad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:773:8: 'have : (cpoly g).roots ≤ Multiset.ofList [-1] :=
by
apply Multiset.le_iff_count.mpr
intro b
rcases (em (b ∈ (cpoly g).roots)) with isroot | notroot
· have that : _ := bbad b
have tt : ¬(b ≠ 1 ∧ b ≠ -1) := by
by_contra bbb
exact that ⟨isroot, bbb⟩
simp at tt
rcases (em (b = 1)) with f1 | f2
· rw [f1]
rw [this]
norm_num
--
rw [tt f2]
simp only [mcount] at misone
rw [misone]
norm_num
have : _ := Multiset.count_eq_zero_of_notMem notroot
rw [this]
norm_num' uses 'bbad'!
warning: BanachTarski/FixedPointLemma.lean:781:12: 'simp at tt' is a flexible tactic modifying 'tt'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:781:12: Try this:
[apply] simp only [count_roots, Multiset.coe_singleton, Multiset.nodup_singleton, ge_iff_le] at tt
info: BanachTarski/FixedPointLemma.lean:787:12: 'rw [tt f2]' uses 'tt'!
warning: BanachTarski/FixedPointLemma.lean:796:8: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:797:8: 'rw [num_roots_eq_3 g] at this' uses 'this'!
warning: BanachTarski/FixedPointLemma.lean:810:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:810:10: Try this:
[apply] simp only [Multiset.coe_card, List.length_cons, List.length_nil, zero_add, Nat.reduceAdd]
info: BanachTarski/FixedPointLemma.lean:811:10: 'rw [num_roots_eq_3 g]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:819:12: 'by_contra isone' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:821:12: 'exact cspec.right.right isone' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:823:12: 'by_contra bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:827:12: 'apply congrArg CONJ at bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:828:12: 'simp at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:830:12: 'symm at bad' uses 'bad'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:831:12: 'exact cspec.right.right bad' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:828:12: 'simp at bad' is a flexible tactic modifying 'bad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:831:12: 'exact cspec.right.right bad' uses 'bad'!
warning: BanachTarski/FixedPointLemma.lean:816:10: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:816:10: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:833:10: 'exact this' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:841:10: 'simp [this]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:841:10: Try this:
[apply] simp only [Multiset.coe_count, List.count_cons_self, count_roots, Order.add_one_le_iff, gt_iff_lt]
info: BanachTarski/FixedPointLemma.lean:843:10: 'rw [misone]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:842:10: 'simp [mcount] at misone' is a flexible tactic modifying 'misone'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:843:10: 'rw [misone]' uses 'misone'!
warning: BanachTarski/FixedPointLemma.lean:858:14: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:858:14: Try this:
[apply] simp only [Multiset.coe_count, count_roots, ge_iff_le]
info: BanachTarski/FixedPointLemma.lean:859:14: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:869:16: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:869:16: Try this:
[apply] simp only [List.mem_cons, List.not_mem_nil, or_false, not_or]
info: BanachTarski/FixedPointLemma.lean:871:18: 'exact nimo' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:869:16: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:869:16: Try this:
[apply] simp only [List.mem_cons, List.not_mem_nil, or_false, not_or]
info: BanachTarski/FixedPointLemma.lean:873:18: 'exact nimc' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:869:16: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:869:16: Try this:
[apply] simp only [List.mem_cons, List.not_mem_nil, or_false, not_or]
info: BanachTarski/FixedPointLemma.lean:874:18: 'exact nimcc' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:866:14: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:866:14: Try this:
[apply] simp only [Multiset.coe_count, count_roots, ge_iff_le]
info: BanachTarski/FixedPointLemma.lean:875:14: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:879:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:879:6: Try this:
[apply] simp only [Multiset.prod_coe, List.prod_cons, List.prod_nil, mul_one, neg_mul, one_mul, neg_inj]
info: BanachTarski/FixedPointLemma.lean:880:6: 'apply conj_mul_roots' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:879:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:879:6: Try this:
[apply] simp only [Multiset.prod_coe, List.prod_cons, List.prod_nil, mul_one, neg_mul, one_mul, neg_inj]
info: BanachTarski/FixedPointLemma.lean:881:6: 'exact cspec.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:879:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:879:6: Try this:
[apply] simp only [Multiset.prod_coe, List.prod_cons, List.prod_nil, mul_one, neg_mul, one_mul, neg_inj]
info: BanachTarski/FixedPointLemma.lean:881:6: 'exact cspec.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:891:8: 'simp at bbad' is a flexible tactic modifying 'bbad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:893:8: 'have simpl : ∀ (x : ℂ), x ∈ (cpoly g).roots → 1 = x := by
intro x
intro lhs
have aa := bbad x
have bb : x ≠ -1 := by
simp only [mcount] at no_min_one
have that := Multiset.count_eq_zero.mp no_min_one
by_contra ism1
rw [ism1] at lhs
exact that lhs
by_contra ne1
have back : x ≠ 1 := by exact fun a ↦ ne1 (id (Eq.symm a))
exact aa ⟨lhs, back, bb⟩' uses 'bbad'!
warning: BanachTarski/FixedPointLemma.lean:969:6: 'simp at bbbad' is a flexible tactic modifying 'bbbad'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:971:6: 'have : (cpoly g).roots ≤ Multiset.ofList [c, CONJ c] :=
by
apply Multiset.le_iff_count.mpr
intro a
rcases (em (a = 1)) with a1 | a2
· rw [a1]
simp only [count] at countiszero
rw [countiszero]
simp
--
rcases (em (a = -1)) with ma1 | ma2
· rw [ma1]
simp only [mcount] at no_min_one
rw [no_min_one]
simp
--
have cmult : ((cpoly g).roots.count c = 1) := by
apply conj_roots_4
· exact cspec.left
exact cspec.right
rcases (em (a = c)) with ca1 | ca2
· rw [ca1]
rw [cmult]
simp
--
rcases (em (a = CONJ c)) with cca1 | cca2
· rw [cca1]
have cmultc : ((cpoly g).roots.count (CONJ c) = 1) :=
by
rw [← conj_roots_3]
exact cmult
rw [cmultc]
simp
--
have : Multiset.count a (cpoly g).roots = 0 :=
by
apply Multiset.count_eq_zero.mpr
by_contra isroot
exact bbbad a ⟨isroot, a2, ma2, ca2, cca2⟩
rw [this]
simp' uses 'bbbad'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1027:8: 'by_contra eq' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1029:8: 'exact conjdiff_c eq' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1032:8: 'by_contra eqcs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1034:8: 'exact cspec2.right.right.right.left eqcs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1036:8: 'by_contra eqcs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1037:8: 'apply congrArg CONJ at eqcs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1038:8: 'simp [CONJ] at eqcs' is a flexible tactic modifying 'eqcs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1039:8: 'change CONJ c = c2 at eqcs' uses 'eqcs'!
warning: BanachTarski/FixedPointLemma.lean:1038:8: 'simp [CONJ] at eqcs' is a flexible tactic modifying 'eqcs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1040:8: 'symm at eqcs' uses 'eqcs'!
warning: BanachTarski/FixedPointLemma.lean:1038:8: 'simp [CONJ] at eqcs' is a flexible tactic modifying 'eqcs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1041:8: 'exact cspec2.right.right.right.right eqcs' uses 'eqcs'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1041:8: 'exact cspec2.right.right.right.right eqcs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1046:8: 'by_contra bbb' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1048:8: 'exact cspec2.right.right.right.right bbb' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1050:8: 'by_contra bbb' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1051:8: 'simp [CONJ] at bbb' is a flexible tactic modifying 'bbb'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1052:8: 'have so : c = c2 := by
apply star_inj.mp
exact bbb' uses 'bbb'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1057:8: 'exact cspec2.right.right.right.left so' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1058:8: 'apply flem2 g' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1059:10: 'exact cspec2.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1061:10: 'exact cspec2.right.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1024:6: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1024:6: Try this:
[apply] simp only [List.nodup_cons, List.mem_cons, List.not_mem_nil, or_false, not_or, not_false_eq_true,
List.nodup_nil, and_self, and_true]
info: BanachTarski/FixedPointLemma.lean:1062:8: 'exact cspec2.right.right.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1068:6: 'apply Multiset.le_iff_count.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1069:6: 'intro w' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1070:6: 'rw [Multiset.coe_count]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1071:6: 'rcases (em (w = c ∨ w = c2 ∨ w = CONJ c ∨ w = CONJ c2)) with r1 | r2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1072:8: 'rcases r1 with r11 | r12 | r13 | r14' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1073:10: 'rw [r11]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1078:10: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1079:10: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1080:10: 'exact cspec.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1081:10: 'rw [r12]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1086:10: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1087:10: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1088:10: 'exact cspec2.left' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1089:10: 'rw [r13]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1094:10: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1095:10: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1096:10: 'exact conjtoo' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1097:10: 'rw [r14]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1102:10: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1103:10: 'apply Multiset.one_le_count_iff_mem.mpr' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1104:10: 'exact conjtoo2' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1067:6: 'simp [big]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1109:8: 'rw [this]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1116:6: 'simp [big] at card_bound' is a flexible tactic modifying 'card_bound'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1117:6: 'exact card_bound' uses 'card_bound'!
warning: BanachTarski/FixedPointLemma.lean:894:10: Try this: intro x lhs
warning: BanachTarski/FixedPointLemma.lean:933:10: Try this: intro x lhs
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1133:4: 'intro lhs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1134:4: 'simp [kermap_raw] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1136:4: 'rw [sub_eq_iff_eq_add] at lhs' uses 'lhs'!
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1138:4: 'rw [lhs]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1134:4: 'simp [kermap_raw] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1138:4: 'rw [lhs]' uses 'lhs'!
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1139:4: 'intro lhs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1141:4: 'rw [sub_eq_iff_eq_add]' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1144:4: 'apply congrArg WithLp.ofLp at lhs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1143:4: 'simp [g_end_raw] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1144:4: 'apply congrArg WithLp.ofLp at lhs' uses 'lhs'!
warning: BanachTarski/FixedPointLemma.lean:1143:4: 'simp [g_end_raw] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1146:4: 'exact lhs' uses 'lhs'!
warning: BanachTarski/FixedPointLemma.lean:1129:2: 'simp [K, Module.End.eigenspace]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1129:2: Try this:
[apply] simp only [Module.End.mem_genEigenspace_one, one_smul]
info: BanachTarski/FixedPointLemma.lean:1146:4: 'exact lhs' uses '⊢'!
warning: BanachTarski/FixedPointLemma.lean:1156:2: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1156:2: Try this:
[apply] simp only [ge_iff_le] at this
info: BanachTarski/FixedPointLemma.lean:1157:2: 'rw [← same_char g] at this' uses 'this'!
warning: BanachTarski/FixedPointLemma.lean:1156:2: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1156:2: Try this:
[apply] simp only [ge_iff_le] at this
info: BanachTarski/FixedPointLemma.lean:1158:2: 'rw [← same_mult g] at this' uses 'this'!
warning: BanachTarski/FixedPointLemma.lean:1156:2: 'simp at this' is a flexible tactic modifying 'this'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/FixedPointLemma.lean:1156:2: Try this:
[apply] simp only [ge_iff_le] at this
info: BanachTarski/FixedPointLemma.lean:1159:2: 'rw [this] at bnd' uses 'this'!
error: BanachTarski/FixedPointLemma.lean:1391:4: unsolved goals
case h.right.inl
g : ↥SO3
notone : g ≠ 1
bnd : Module.finrank ℝ ↥(K g) ≤ 1
dim1 : Module.finrank ℝ ↥(K g) = 1
cset : Set R3 := {x | x ∈ K g ∧ x ≠ 0}
ne : ∃ z, z ∈ cset
nz : ↥(K g) :=
let c := Classical.choose ne;
have cspec := ⋯;
⟨c, ⋯⟩
is_nz : nz ≠ 0
isspan : ℝ ∙ nz = ⊤
el : R3 := ↑nz
el_neg : R3 := -el
el_nz : el ≠ 0
el_neg_nz : el_neg ≠ 0
el_normed : R3 := normed el
el_normed_neg : R3 := normed el_neg
rev_el : el = ‖el‖ • el_normed
rev_el_neg : el_neg = ‖el_neg‖ • el_normed_neg
prop : (↑g).mulVec el.ofLp - el.ofLp = 0
el_normed_in_s2 : el_normed ∈ S2
el_normed_neg_in_s2 : el_normed_neg ∈ S2
el_normed_fixed : g • el_normed = el_normed
el_normed_neg_fixed : g • el_normed_neg = el_normed_neg
cconj : el_normed ∈ S2 ∧ g • el_normed = el_normed
cconj_neg : el_normed_neg ∈ S2 ∧ g • el_normed_neg = el_normed_neg
F : ↑{x | x ∈ S2 ∧ g • x = x} := ⟨el_normed, cconj⟩
Fneg : ↑{x | x ∈ S2 ∧ g • x = x} := ⟨el_normed_neg, cconj_neg⟩
v : ↑{x | x ∈ S2 ∧ g • x = x}
vprop : ↑v ∈ {x | x ∈ {y | dist y 0 = 1} ∧ g • x = x}
k : R3 := ↑v
inker : k ∈ K g
ininsp : ⟨k, inker⟩ ∈ ℝ ∙ nz
a : ℝ
pa : a • nz = ⟨k, inker⟩
cast✝ : a • ‖el‖ • el_normed = k
normk : ‖k‖ = 1
nn : ‖‖el‖‖ = ‖el‖
obv : ‖el_normed‖ = 1
cast : |a| * ‖el‖ = 1
pos : a = ‖el‖⁻¹
cast_old : el_normed = k
this : v = F
⊢ F ∈ {F, Fneg}
error: BanachTarski/FixedPointLemma.lean:1401:4: unsolved goals
case h.right.inr
g : ↥SO3
notone : g ≠ 1
bnd : Module.finrank ℝ ↥(K g) ≤ 1
dim1 : Module.finrank ℝ ↥(K g) = 1
cset : Set R3 := {x | x ∈ K g ∧ x ≠ 0}
ne : ∃ z, z ∈ cset
nz : ↥(K g) :=
let c := Classical.choose ne;
have cspec := ⋯;
⟨c, ⋯⟩
is_nz : nz ≠ 0
isspan : ℝ ∙ nz = ⊤
el : R3 := ↑nz
el_neg : R3 := -el
el_nz : el ≠ 0
el_neg_nz : el_neg ≠ 0
el_normed : R3 := normed el
el_normed_neg : R3 := normed el_neg
rev_el : el = ‖el‖ • el_normed
rev_el_neg : el_neg = ‖el_neg‖ • el_normed_neg
prop : (↑g).mulVec el.ofLp - el.ofLp = 0
el_normed_in_s2 : el_normed ∈ S2
el_normed_neg_in_s2 : el_normed_neg ∈ S2
el_normed_fixed : g • el_normed = el_normed
el_normed_neg_fixed : g • el_normed_neg = el_normed_neg
cconj : el_normed ∈ S2 ∧ g • el_normed = el_normed
cconj_neg : el_normed_neg ∈ S2 ∧ g • el_normed_neg = el_normed_neg
F : ↑{x | x ∈ S2 ∧ g • x = x} := ⟨el_normed, cconj⟩
Fneg : ↑{x | x ∈ S2 ∧ g • x = x} := ⟨el_normed_neg, cconj_neg⟩
v : ↑{x | x ∈ S2 ∧ g • x = x}
vprop : ↑v ∈ {x | x ∈ {y | dist y 0 = 1} ∧ g • x = x}
k : R3 := ↑v
inker : k ∈ K g
ininsp : ⟨k, inker⟩ ∈ ℝ ∙ nz
a : ℝ
pa : a • nz = ⟨k, inker⟩
cast✝ : a • ‖el‖ • el_normed = k
normk : ‖k‖ = 1
nn : ‖‖el‖‖ = ‖el‖
obv : ‖el_normed‖ = 1
cast : |a| * ‖el‖ = 1
neg : a = -‖el‖⁻¹
cast_old : el_normed = -k
this✝ : el_normed_neg = k
this : v = Fneg
⊢ Fneg ∈ {F, Fneg}
error: Lean exited with code 1
⚠ [8267/8270] Built BanachTarski.Sato (25s)
warning: BanachTarski/Sato.lean:8:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎and show it is isomorphic to the free group on two generators. -/⏎⏎-- It will be easier to work with some integer valued matrices (not in SO(3))⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:11:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎-- and occassionally reduce mod 7.⏎⏎def M_s_Z : ZMAT := !![⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:37:2: 'simp [M_s_Z, M_s_Z_trans, Matrix.transpose]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:38:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:37:2: 'simp [M_s_Z, M_s_Z_trans, Matrix.transpose]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:39:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:44:2: 'simp [M_t_Z, M_t_Z_trans, Matrix.transpose]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:45:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:44:2: 'simp [M_t_Z, M_t_Z_trans, Matrix.transpose]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:46:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:52:2: 'simp [M_s_Z, M_s_Z_trans, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:53:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:52:2: 'simp [M_s_Z, M_s_Z_trans, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:54:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:60:2: 'simp [M_t_Z, M_t_Z_trans, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:61:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:60:2: 'simp [M_t_Z, M_t_Z_trans, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:62:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:100:4: 'simp [M_s_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:100:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:102:4: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:100:4: 'simp [M_s_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:100:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:103:4: 'rw [fnlem_s]' uses '⊢'!
warning: BanachTarski/Sato.lean:100:4: 'simp [M_s_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:100:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:106:4: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:100:4: 'simp [M_s_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:100:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:107:4: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:100:4: 'simp [M_s_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:100:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:108:4: 'rw [sevsevlem]' uses '⊢'!
warning: BanachTarski/Sato.lean:122:4: 'simp [M_t_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:122:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:124:4: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:122:4: 'simp [M_t_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:122:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:125:4: 'rw [fnlem_t]' uses '⊢'!
warning: BanachTarski/Sato.lean:122:4: 'simp [M_t_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:122:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:128:4: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:122:4: 'simp [M_t_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:122:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:129:4: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:122:4: 'simp [M_t_normed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:122:4: Try this:
[apply] simp only [one_div, Algebra.mul_smul_comm]
info: BanachTarski/Sato.lean:130:4: 'rw [sevsevlem]' uses '⊢'!
warning: BanachTarski/Sato.lean:159:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎lemma msinv_lem : M_s_i * M_s = Matrix.diagonal (fun _ : (Fin 3) ↦ (49:ℝ)) := by⏎⏎ simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:160:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:161:2: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:160:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:162:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:160:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:163:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:170:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:171:2: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:170:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:172:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:170:2: 'simp [M_s_i, M_s, M_s_Z, M_s_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:173:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:179:2: 'simp [s_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:186:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:179:2: 'simp [s_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:187:2: 'fin_cases i' uses '⊢'!
warning: BanachTarski/Sato.lean:179:2: 'simp [s_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:187:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:179:2: 'simp [s_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:187:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:179:2: 'simp [s_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:187:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:204:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:205:2: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:204:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:206:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:204:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:207:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:212:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:213:2: 'rw [← to_MAT_mul]' uses '⊢'!
warning: BanachTarski/Sato.lean:212:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:214:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:212:2: 'simp [M_t_i, M_t, M_t_Z, M_t_i_Z, Matrix.diagonal]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:215:2: 'fin_cases i, j' uses '⊢'!
warning: BanachTarski/Sato.lean:220:2: 'simp [t_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:227:2: 'ext i j' uses '⊢'!
warning: BanachTarski/Sato.lean:220:2: 'simp [t_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:228:2: 'fin_cases i' uses '⊢'!
warning: BanachTarski/Sato.lean:220:2: 'simp [t_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:228:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:220:2: 'simp [t_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:228:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:220:2: 'simp [t_i_op_n]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:228:18: 'fin_cases j' uses '⊢'!
warning: BanachTarski/Sato.lean:239:2: 'simp [SATO]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:240:2: 'apply Subgroup.mem_closure_of_mem' uses '⊢'!
warning: BanachTarski/Sato.lean:244:2: 'simp [SATO]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:245:2: 'apply Subgroup.mem_closure_of_mem' uses '⊢'!
warning: BanachTarski/Sato.lean:258:4: 'simp [sato_generators_ss, sato_fg3_iso_seed]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:259:4: 'exact Set.pair_comm sato_s sato_t' uses '⊢'!
warning: BanachTarski/Sato.lean:266:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [← MonoidHom.range_eq_top]⏎⏎ rw [to_sato_range]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:270:4: 'simp [sato_generators_ss, sato_generators, Set.mem_preimage]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:270:4: Try this:
[apply] simp only [Set.mem_preimage]
info: BanachTarski/Sato.lean:273:6: 'rintro (rfl | rfl)' uses '⊢'!
warning: BanachTarski/Sato.lean:270:4: 'simp [sato_generators_ss, sato_generators, Set.mem_preimage]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:270:4: Try this:
[apply] simp only [Set.mem_preimage]
info: BanachTarski/Sato.lean:276:6: 'intro hx' uses '⊢'!
warning: BanachTarski/Sato.lean:270:4: 'simp [sato_generators_ss, sato_generators, Set.mem_preimage]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:270:4: Try this:
[apply] simp only [Set.mem_preimage]
info: BanachTarski/Sato.lean:278:6: 'cases hx with
| inl h =>
have : x = ⟨s_op_n, s_mem⟩ := Subtype.ext h
left; exact this
| inr h =>
have : x = ⟨t_op_n, t_mem⟩ := Subtype.ext h
right; exact this' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:319:2: 'rintro v ((inVs | inVt) | inVtinv)' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:320:4: 'rcases inVs with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:321:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:323:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:326:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:329:4: 'rcases inVt with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:330:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:333:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:336:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:339:4: 'rcases inVtinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:340:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:343:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:317:2: 'simp [M_s_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:317:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:346:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:354:2: 'rintro v ((inVsinv | inVt) | inVtinv)' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:355:4: 'rcases inVsinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:356:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:358:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:361:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:364:4: 'rcases inVt with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:365:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:367:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:370:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:373:4: 'rcases inVtinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:374:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:376:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:352:2: 'simp [M_s_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:352:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:379:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:387:2: 'rintro v ((inVt | inVs) | inVsinv)' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:388:4: 'rcases inVt with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:389:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:391:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:394:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:397:4: 'rcases inVs with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:398:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:400:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:403:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:406:4: 'rcases inVsinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:407:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:409:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:385:2: 'simp [M_t_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:385:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:412:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:420:2: 'rintro v ((inVinv | inVs) | inVsinv)' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:421:4: 'rcases inVinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:422:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:424:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:427:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:430:4: 'rcases inVs with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:431:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:433:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:436:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:439:4: 'rcases inVsinv with a | b | c' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:440:6: 'rw [a]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:442:6: 'rw [b]' uses '⊢'!
warning: BanachTarski/Sato.lean:418:2: 'simp [M_t_i_Z]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:418:2: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:445:6: 'rw [c]' uses '⊢'!
warning: BanachTarski/Sato.lean:457:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ intro aneq1 image_is_one⏎⏎ have wlog : ∃b: FG2, (b ≠ 1) ∧ (to_sato b = 1) ∧ (FreeGroup.toWord b).getLast? = some (0, true) :=⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:460:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ wolog_zero to_sato a ⟨aneq1, image_is_one⟩⏎⏎ obtain ⟨a2, a2_not_one, a2_image_one, a2_ends_with_sigma⟩ := wlog⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:462:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ obtain ⟨a2, a2_not_one, a2_image_one, a2_ends_with_sigma⟩ := wlog⏎⏎ set w2 := FreeGroup.toWord a2 with w2_def⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:470:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp at a2_ends_with_sigma⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:473:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let Invariant (header: chartype) (op:ZMAT) : Prop :=⏎⏎ let c1 := mod7_Z ((Matrix.col op 0))⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:475:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let c1 := mod7_Z ((Matrix.col op 0))⏎⏎ (header = (0, true) → c1 ∈ Vs) ∧⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:480:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ (header = (0, false) → c1 ∈ Vsinv)⏎⏎ set tp_list : List ZMAT := w2.map fun x => (⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:488:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ ) with tplist_def⏎⏎ let trunc_prod (i: ℕ): ZMAT := List.prod ((w2.drop (N - 1 - i)).map fun x =>⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:496:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ )⏎⏎ let DEFAULT := ((0:Fin 2), false)⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:498:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let DEFAULT := ((0:Fin 2), false)⏎⏎ let header (i: ℕ) : chartype := w2.getD (N -i - 1) DEFAULT⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:500:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let header (i: ℕ) : chartype := w2.getD (N -i - 1) DEFAULT⏎⏎ have claim : ∀ i : ℕ, (i < N) → Invariant (header i) (trunc_prod i) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:503:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ intro i i_le_N⏎⏎ induction' i with i ih⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:505:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ induction' i with i ih⏎⏎ · have triv1: (trunc_prod 0) = M_s_Z := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:508:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [trunc_prod]⏎⏎ rw [←tplist_def]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:511:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [tp_list]⏎⏎ have xl1: tp_list.length = N - 1 + 1 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:515:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ have xl2: tp_list.getLast? = some M_s_Z := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:521:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact a2_ends_with_sigma⏎⏎ rw [drop_eq_last (N - 1) tp_list ⟨xl1, xl2⟩]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:524:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ have triv2: header 0 = (0, true) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:532:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact a2_ends_with_sigma⏎⏎ rw [triv2]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:545:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ --⏎⏎ simp [Invariant]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:551:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let m7prev := mod7_Z (Matrix.col (trunc_prod ↑i) 0)⏎⏎ have adj_lemma : ∀{i : Fin 2}, ∀{v : Bool}, h = (i, v) → (h_prev ≠ (i, not v)) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:563:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have same_lens : w2.length = L3.length := by⏎⏎ simp [L3, A, B]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:572:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ have w2_decomp: w2 = L3 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:574:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have w2_decomp: w2 = L3 := by⏎⏎ simp [L3]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:577:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [A]⏎⏎ nth_rewrite 1 [←List.take_append_drop (N-i -2) w2]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:585:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ constructor⏎⏎ · have h_conv : w2.getD ((N - (i+ 1)) - 1) DEFAULT = w2[N - i - 2] := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:591:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [← h_conv]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:594:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact lhs⏎⏎ constructor⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:596:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ constructor⏎⏎ · have h_conv : w2.getD (N - i - 1) DEFAULT = w2[N - i - 2 + 1] := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:603:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [eee]⏎⏎ rw [← h_conv]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:606:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact bad⏎⏎ have lx : N - i - 2 + 1 + 1 = N - i := by omega⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:608:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have lx : N - i - 2 + 1 + 1 = N - i := by omega⏎⏎ rw [lx]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:612:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ simp [N]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:615:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ have w2_isreduced: FreeGroup.IsReduced w2 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:619:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rwa [←w2_def] at sim⏎⏎ have bb: FreeGroup.Red.Step w2 L2 := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:627:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (trouble L2) bb⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:635:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [Invariant] at ih⏎⏎ have ihtrig := ih (by linarith [i_le_N])⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:654:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact ihtrig.right.right.left d⏎⏎ have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:659:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [trunc_prod]⏎⏎ let d : List MAT := (List.map (fun x ↦ sev_mat * ((bif x.2 then⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:664:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ ((sato_fg3_iso_seed x.1):MAT) else ((sato_fg3_iso_seed x.1)⁻¹:MAT)))) w2) := rfl⏎⏎ rw [←tplist_def]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:666:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←tplist_def]⏎⏎ have lemm1: N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:670:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (Nat.succ_pred_eq_of_ne_zero int0).symm⏎⏎ set D := Nat.pred (N - 1 - i) with ddef⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:676:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [pD2, lemm1]⏎⏎ have more: (List.drop D tp_list) = M_s_Z::(List.drop (D+1) tp_list):= by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:698:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ rw [more]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:701:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ simp [m7prev]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:706:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [red]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:715:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [Invariant] at ih⏎⏎ have ihtrig := ih (by linarith [i_le_N])⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:734:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have prev_lem: m7prev ∈ Vt ∪ Vs ∪ Vsinv := by rwa [Set.union_comm Vs Vt] at prev_lem0⏎⏎ have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:740:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←tplist_def]⏎⏎ have lemm1: N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:744:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (Nat.succ_pred_eq_of_ne_zero int0).symm⏎⏎ set D := Nat.pred (N - 1 - i) with ddef⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:750:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [pD2, lemm1]⏎⏎ have more: (List.drop D tp_list) = M_t_Z::(List.drop (D+1) tp_list):= by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:773:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ rw [more]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:776:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ simp [m7prev]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:781:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [red]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:790:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [Invariant] at ih⏎⏎ have ihtrig := ih (by linarith [i_le_N])⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:810:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact prev_lem0⏎⏎ have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:816:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←tplist_def]⏎⏎ have lemm1: N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:820:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (Nat.succ_pred_eq_of_ne_zero int0).symm⏎⏎ set D := Nat.pred (N - 1 - i) with ddef⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:826:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [pD2, lemm1]⏎⏎ have more: (List.drop D tp_list) = M_t_i_Z::(List.drop (D+1) tp_list):= by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:849:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ rw [more]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:852:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ simp [m7prev]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:857:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [red]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:865:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [Invariant] at ih⏎⏎ have ihtrig := ih (by linarith [i_le_N])⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:880:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact ihtrig.right.right.left d⏎⏎ have prev_lem: m7prev ∈ Vsinv ∪ Vt ∪ Vtinv := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:884:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact prev_lem0⏎⏎ have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) =⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:890:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←tplist_def]⏎⏎ have lemm1: N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:894:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (Nat.succ_pred_eq_of_ne_zero int0).symm⏎⏎ set D := Nat.pred (N - 1 - i) with ddef⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:900:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [pD2, lemm1]⏎⏎ have more: (List.drop D tp_list) = M_s_i_Z::(List.drop (D+1) tp_list):= by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:923:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ omega⏎⏎ rw [more]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:926:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ simp [m7prev]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:931:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rfl⏎⏎ rw [red]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:934:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact l2 m7prev prev_lem⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:939:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact Nat.sub_one_lt Nnezero⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:944:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ ((sato_fg3_iso_seed x.1):MAT)⁻¹))) with ppm_def⏎⏎ have len_ppm : pre_prod_MAT.length = N := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:948:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact N_def.symm⏎⏎ let my_prod:= List.prod (pre_prod)⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:951:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ let my_prod_MAT:= List.prod (pre_prod_MAT)⏎⏎ have case_image_is_my_prod : (to_sato a2) = my_prod := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:956:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact FreeGroup.lift_mk⏎⏎ have case_image_is_my_prod_MAT : ((to_sato a2): MAT) = my_prod_MAT := by⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:969:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact (so3_invs_coe t_op_n).symm⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:972:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ have equal_prods: (sev_mat ^N) * my_prod_MAT = to_MAT (trunc_prod (N - 1)) := by⏎⏎ simp [trunc_prod]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:978:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [sev_mat, sev_mat_Z]⏎⏎ simp [to_MAT]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:982:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [inter]⏎⏎ simp [pre_prod_MAT]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:997:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [xyz]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1018:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [xyz]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1042:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [xyz]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1063:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp⏎⏎ rw [xyz]⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1079:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ norm_num⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1085:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [uh] at case_image_is_my_prod_MAT⏎⏎ rw [←case_image_is_my_prod_MAT] at equal_prods⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1087:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ rw [←case_image_is_my_prod_MAT] at equal_prods⏎⏎ simp at equal_prods⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1095:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact weird1⏎⏎ rw [← weird] at last⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1098:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ simp [Invariant] at last⏎⏎⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:1145:0: Please, write a comment here or remove this line, but do not place empty lines within commands!
Context:
↓
⏎ exact Nnezero⏎⏎ exact thus a2_image_one⏎
Note: This linter can be disabled with `set_option linter.style.emptyLine false`
warning: BanachTarski/Sato.lean:507:8: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:509:8: 'rw [← tplist_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:517:10: 'simp [tp_list]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:518:10: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:517:10: 'simp [tp_list]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:519:10: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:517:10: 'simp [tp_list]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:520:10: 'exact a2_ends_with_sigma' uses '⊢'!
warning: BanachTarski/Sato.lean:507:8: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:522:8: 'rw [drop_eq_last (N - 1) tp_list ⟨xl1, xl2⟩]' uses '⊢'!
warning: BanachTarski/Sato.lean:526:8: 'simp [header]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:529:8: 'apply Option.getD_eq_iff.mpr' uses '⊢'!
warning: BanachTarski/Sato.lean:526:8: 'simp [header]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:530:8: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:526:8: 'simp [header]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:531:8: 'exact a2_ends_with_sigma' uses '⊢'!
warning: BanachTarski/Sato.lean:535:6: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:540:6: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:535:6: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:541:6: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:535:6: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:542:6: 'ext i' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:547:4: 'let h := header (i + 1)' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:548:4: 'let h_prev := header (i)' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:550:4: 'let m7prev := mod7_Z (Matrix.col (trunc_prod ↑i) 0)' uses '⊢'!
warning: BanachTarski/Sato.lean:549:4: 'simp at h' is a flexible tactic modifying 'h'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:552:4: 'have adj_lemma : ∀ {i : Fin 2}, ∀ {v : Bool}, h = (i, v) → (h_prev ≠ (i, not v)) :=
by
intro j vt
simp [h, h_prev]
simp only [header]
intro lhs
intro bad
let A := w2.take (N - i - 2)
let B := w2.drop (N - i)
let L2 := A ++ B
let L3 := A ++ (j, vt) :: (j, not vt) :: B
have same_lens : w2.length = L3.length := by
simp [L3, A, B]
have min1 : N - i - 2 ≤ w2.length := by simp [N]; omega
have min11 : min (N - i - 2) w2.length = N - i - 2 := by simp [min1]
simp [min11]
rw [add_comm]
nth_rewrite 1 [← add_zero w2.length]
norm_num
omega
have w2_decomp : w2 = L3 := by
simp [L3]
simp [A]
nth_rewrite 1 [← List.take_append_drop (N - i - 2) w2]
rw [List.append_cancel_left_eq]
simp [B]
nth_rewrite 1 [← List.cons_getElem_drop_succ]
· nth_rewrite 1 [← List.cons_getElem_drop_succ]
· simp
constructor
· have h_conv : w2.getD ((N - (i + 1)) - 1) DEFAULT = w2[N - i - 2] :=
by
rw [List.getD_eq_getElem?_getD, List.getD_getElem?]
have ll : N - (i + 1) - 1 < w2.length := by simp [N]; omega
simp [ll]
rfl
rw [← h_conv]
exact lhs
constructor
· have h_conv : w2.getD (N - i - 1) DEFAULT = w2[N - i - 2 + 1] :=
by
rw [List.getD_eq_getElem?_getD, List.getD_getElem?]
have ll : N - i - 1 < w2.length := by simp [N]; omega
simp [ll]
have eee : N - i - 2 + 1 = N - i - 1 := by omega
simp [eee]
rw [← h_conv]
exact bad
have lx : N - i - 2 + 1 + 1 = N - i := by omega
rw [lx]
simp [N]
omega
simp [N]
omega
have w2_isreduced : FreeGroup.IsReduced w2 :=
by
have sim : FreeGroup.IsReduced (FreeGroup.toWord a2) := FreeGroup.isReduced_toWord
rwa [← w2_def] at sim
have bb : FreeGroup.Red.Step w2 L2 := by
rw [w2_decomp]
have step : FreeGroup.Red.Step ((j, vt) :: (j, not vt) :: B) B := FreeGroup.Red.Step.cons_not
exact FreeGroup.Red.Step.append_left step
have trouble : _ := FreeGroup.isReduced_iff_not_step.mp w2_isreduced
exact (trouble L2) bb' uses 'h'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:556:6: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:557:6: 'intro bad' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:558:6: 'let A := w2.take (N - i - 2)' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:559:6: 'let B := w2.drop (N - i)' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:560:6: 'let L2 := A ++ B' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:561:6: 'let L3 := A ++ (j, vt) :: (j, not vt) :: B' uses '⊢'!
warning: BanachTarski/Sato.lean:564:8: 'simp [L3, A, B]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:568:8: 'rw [add_comm]' uses '⊢'!
warning: BanachTarski/Sato.lean:564:8: 'simp [L3, A, B]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:569:8: 'nth_rewrite 1 [← add_zero w2.length]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:578:8: 'nth_rewrite 1 [← List.take_append_drop (N - i - 2) w2]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:579:8: 'rw [List.append_cancel_left_eq]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:581:8: 'nth_rewrite 1 [← List.cons_getElem_drop_succ]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:582:10: 'nth_rewrite 1 [← List.cons_getElem_drop_succ]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:592:14: 'rw [← h_conv]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:593:14: 'exact lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:604:14: 'rw [← h_conv]' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:605:14: 'exact bad' uses '⊢'!
warning: BanachTarski/Sato.lean:575:8: 'simp [L3]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:609:12: 'rw [lx]' uses '⊢'!
warning: BanachTarski/Sato.lean:554:6: 'simp [h, h_prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:554:6: Try this:
[apply] simp only [ne_eq]
info: BanachTarski/Sato.lean:626:6: 'exact (trouble L2) bb' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:631:6: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:634:6: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:636:6: 'have ihtrig := ih (by linarith [i_le_N])' uses 'ih'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:637:6: 'have prev_lem : m7prev ∈ Vs ∪ Vt ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· simp [h_prev] at a
left
left
exact ihtrig.left a
· simp [h_prev] at b
absurd lim1 b
trivial
· simp [h_prev] at c
left
right
exact ihtrig.right.left c
· simp [h_prev] at d
right
exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:633:6: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:637:6: 'have prev_lem : m7prev ∈ Vs ∪ Vt ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· simp [h_prev] at a
left
left
exact ihtrig.left a
· simp [h_prev] at b
absurd lim1 b
trivial
· simp [h_prev] at c
left
right
exact ihtrig.right.left c
· simp [h_prev] at d
right
exact ihtrig.right.right.left d' uses 'lim1'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:639:8: 'rcases (wopts h_prev) with a | b | c | d' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:641:10: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:642:10: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:640:10: 'simp [h_prev] at a' is a flexible tactic modifying 'a'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:643:10: 'exact ihtrig.left a' uses 'a'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:643:10: 'exact ihtrig.left a' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:645:10: 'absurd lim1 b' uses '⊢'!
warning: BanachTarski/Sato.lean:644:10: 'simp [h_prev] at b' is a flexible tactic modifying 'b'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:645:10: 'absurd lim1 b' uses 'b'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:646:10: 'trivial' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:648:10: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:649:10: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:647:10: 'simp [h_prev] at c' is a flexible tactic modifying 'c'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:650:10: 'exact ihtrig.right.left c' uses 'c'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:650:10: 'exact ihtrig.right.left c' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:652:10: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:638:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:638:8: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:653:10: 'exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:651:10: 'simp [h_prev] at d' is a flexible tactic modifying 'd'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:653:10: 'exact ihtrig.right.right.left d' uses 'd'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:655:6: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
let d : List MAT :=
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT)))) w2)
have simpler :
d =
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT))))
w2) :=
rfl
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D d with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [D]
simp [tplist_def]
left
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses '⊢'!
warning: BanachTarski/Sato.lean:633:6: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:655:6: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
let d : List MAT :=
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT)))) w2)
have simpler :
d =
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT))))
w2) :=
rfl
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D d with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [D]
simp [tplist_def]
left
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'lim1'!
warning: BanachTarski/Sato.lean:634:6: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:655:6: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
let d : List MAT :=
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT)))) w2)
have simpler :
d =
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT))))
w2) :=
rfl
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D d with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [D]
simp [tplist_def]
left
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'ih'!
warning: BanachTarski/Sato.lean:549:4: 'simp at h' is a flexible tactic modifying 'h'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:655:6: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
let d : List MAT :=
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT)))) w2)
have simpler :
d =
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT))))
w2) :=
rfl
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D d with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [D]
simp [tplist_def]
left
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'h'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:660:10: 'let d : List MAT :=
(List.map (fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT))))
w2)' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:662:10: 'have simpler :
d =
(List.map
(fun x ↦ sev_mat * ((bif x.2 then ((sato_fg3_iso_seed x.1) : MAT) else ((sato_fg3_iso_seed x.1)⁻¹ : MAT)))) w2) :=
rfl' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:665:10: 'rw [← tplist_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:671:10: 'set D := Nat.pred (N - 1 - i) with ddef' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:675:10: 'rw [pD2, lemm1]' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:677:10: 'have more : (List.drop D tp_list) = M_s_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D d with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [D]
simp [tplist_def]
left
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega' uses '⊢'!
warning: BanachTarski/Sato.lean:681:12: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:681:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def] at lhs
info: BanachTarski/Sato.lean:684:12: 'rw [sm] at lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:687:12: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:688:12: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:689:12: 'rw [sm2]' uses '⊢'!
warning: BanachTarski/Sato.lean:681:12: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:681:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def] at lhs
info: BanachTarski/Sato.lean:690:12: 'have more0 : _ := Option.getD_eq_iff.mp lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:691:12: 'rcases more0 with L | R' uses '⊢'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:692:14: 'exact L' uses '⊢'!
warning: BanachTarski/Sato.lean:685:12: 'simp [D]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:685:12: Try this:
[apply] simp only [List.head?_drop, Option.mem_def]
info: BanachTarski/Sato.lean:696:14: 'exfalso' uses '⊢'!
warning: BanachTarski/Sato.lean:658:10: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:699:10: 'rw [more]' uses '⊢'!
warning: BanachTarski/Sato.lean:702:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:703:8: 'rw [mod_lemma_Z]' uses '⊢'!
warning: BanachTarski/Sato.lean:702:8: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:704:8: 'rw [lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:707:6: 'rw [red]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:708:6: 'exact l1 m7prev prev_lem' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:710:8: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:714:8: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:716:8: 'have ihtrig := ih (by linarith [i_le_N])' uses 'ih'!
warning: BanachTarski/Sato.lean:713:8: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:717:8: 'have prev_lem0 : m7prev ∈ Vs ∪ Vt ∪ Vsinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· left
left
exact ihtrig.left a
· simp [h_prev] at b
right
exact ihtrig.right.right.right b
· simp [h_prev] at c
left
right
exact ihtrig.right.left c
· simp [h_prev] at d
absurd lim1 d
trivial' uses 'lim1'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:717:8: 'have prev_lem0 : m7prev ∈ Vs ∪ Vt ∪ Vsinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· left
left
exact ihtrig.left a
· simp [h_prev] at b
right
exact ihtrig.right.right.right b
· simp [h_prev] at c
left
right
exact ihtrig.right.left c
· simp [h_prev] at d
absurd lim1 d
trivial' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:719:10: 'rcases (wopts h_prev) with a | b | c | d' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:720:12: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:721:12: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:722:12: 'exact ihtrig.left a' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:724:12: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:725:12: 'exact ihtrig.right.right.right b' uses '⊢'!
warning: BanachTarski/Sato.lean:723:12: 'simp [h_prev] at b' is a flexible tactic modifying 'b'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:725:12: 'exact ihtrig.right.right.right b' uses 'b'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:727:12: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:728:12: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:726:12: 'simp [h_prev] at c' is a flexible tactic modifying 'c'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:729:12: 'exact ihtrig.right.left c' uses 'c'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:729:12: 'exact ihtrig.right.left c' uses '⊢'!
warning: BanachTarski/Sato.lean:730:12: 'simp [h_prev] at d' is a flexible tactic modifying 'd'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:731:12: 'absurd lim1 d' uses 'd'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:731:12: 'absurd lim1 d' uses '⊢'!
warning: BanachTarski/Sato.lean:718:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:718:10: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:732:12: 'trivial' uses '⊢'!
warning: BanachTarski/Sato.lean:713:8: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:735:8: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tplist_def]
right
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'lim1'!
warning: BanachTarski/Sato.lean:714:8: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:735:8: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tplist_def]
right
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'ih'!
warning: BanachTarski/Sato.lean:549:4: 'simp at h' is a flexible tactic modifying 'h'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:735:8: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tplist_def]
right
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'h'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:735:8: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tplist_def]
right
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses '⊢'!
warning: BanachTarski/Sato.lean:738:12: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:739:12: 'rw [← tplist_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:738:12: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:745:12: 'set D := Nat.pred (N - 1 - i) with ddef' uses '⊢'!
warning: BanachTarski/Sato.lean:738:12: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:749:12: 'rw [pD2, lemm1]' uses '⊢'!
warning: BanachTarski/Sato.lean:738:12: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:751:12: 'have more : (List.drop D tp_list) = M_t_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tplist_def]
right
right
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega' uses '⊢'!
warning: BanachTarski/Sato.lean:755:14: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:755:14: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:758:14: 'rw [sm] at lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:762:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:763:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:764:14: 'rw [sm2]' uses '⊢'!
warning: BanachTarski/Sato.lean:755:14: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:755:14: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:765:14: 'have more0 : _ := Option.getD_eq_iff.mp lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:766:14: 'rcases more0 with L | R' uses '⊢'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:767:16: 'exact L' uses '⊢'!
warning: BanachTarski/Sato.lean:759:14: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:759:14: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:771:16: 'exfalso' uses '⊢'!
warning: BanachTarski/Sato.lean:738:12: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:774:12: 'rw [more]' uses '⊢'!
warning: BanachTarski/Sato.lean:777:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:778:10: 'rw [mod_lemma_Z]' uses '⊢'!
warning: BanachTarski/Sato.lean:777:10: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:779:10: 'rw [lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:782:8: 'rw [red]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:783:8: 'exact l3 m7prev prev_lem' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:785:10: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:789:10: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:791:10: 'have ihtrig := ih (by linarith [i_le_N])' uses 'ih'!
warning: BanachTarski/Sato.lean:788:10: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:792:10: 'have prev_lem0 : m7prev ∈ Vs ∪ Vsinv ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· left
left
exact ihtrig.left a
· left
right
exact ihtrig.right.right.right b
· simp [h_prev] at c
absurd lim1 c
trivial
· right
exact ihtrig.right.right.left d' uses 'lim1'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:792:10: 'have prev_lem0 : m7prev ∈ Vs ∪ Vsinv ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· left
left
exact ihtrig.left a
· left
right
exact ihtrig.right.right.right b
· simp [h_prev] at c
absurd lim1 c
trivial
· right
exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:794:12: 'rcases (wopts h_prev) with a | b | c | d' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:795:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:796:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:797:14: 'exact ihtrig.left a' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:798:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:799:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:800:14: 'exact ihtrig.right.right.right b' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:802:14: 'absurd lim1 c' uses '⊢'!
warning: BanachTarski/Sato.lean:801:14: 'simp [h_prev] at c' is a flexible tactic modifying 'c'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:802:14: 'absurd lim1 c' uses 'c'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:803:14: 'trivial' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:804:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:793:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:793:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:805:14: 'exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:811:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
right
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses '⊢'!
warning: BanachTarski/Sato.lean:789:10: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:811:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
right
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'ih'!
warning: BanachTarski/Sato.lean:788:10: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:811:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
right
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'lim1'!
warning: BanachTarski/Sato.lean:549:4: 'simp at h' is a flexible tactic modifying 'h'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:811:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_t_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_t_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_t_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
right
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'h'!
warning: BanachTarski/Sato.lean:814:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:815:14: 'rw [← tplist_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:814:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:821:14: 'set D := Nat.pred (N - 1 - i) with ddef' uses '⊢'!
warning: BanachTarski/Sato.lean:814:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:825:14: 'rw [pD2, lemm1]' uses '⊢'!
warning: BanachTarski/Sato.lean:814:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:827:14: 'have more : (List.drop D tp_list) = M_t_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
right
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega' uses '⊢'!
warning: BanachTarski/Sato.lean:831:16: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:831:16: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:834:16: 'rw [sm] at lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:838:16: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:839:16: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:840:16: 'rw [sm2]' uses '⊢'!
warning: BanachTarski/Sato.lean:831:16: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:831:16: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:841:16: 'have more0 : _ := Option.getD_eq_iff.mp lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:842:16: 'rcases more0 with L | R' uses '⊢'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:843:18: 'exact L' uses '⊢'!
warning: BanachTarski/Sato.lean:835:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:835:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:847:18: 'exfalso' uses '⊢'!
warning: BanachTarski/Sato.lean:814:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:850:14: 'rw [more]' uses '⊢'!
warning: BanachTarski/Sato.lean:853:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:854:12: 'rw [mod_lemma_Z]' uses '⊢'!
warning: BanachTarski/Sato.lean:853:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:855:12: 'rw [lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:858:10: 'rw [red]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:859:10: 'exact l4 m7prev prev_lem' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:860:10: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:864:10: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:866:10: 'have ihtrig := ih (by linarith [i_le_N])' uses 'ih'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:867:10: 'have prev_lem0 : m7prev ∈ Vt ∪ Vsinv ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· absurd lim1 a
trivial
· left
right
exact ihtrig.right.right.right b
· left
left
exact ihtrig.right.left c
· right
exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:863:10: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:867:10: 'have prev_lem0 : m7prev ∈ Vt ∪ Vsinv ∪ Vtinv := by
simp [m7prev]
rcases (wopts h_prev) with a | b | c | d
· absurd lim1 a
trivial
· left
right
exact ihtrig.right.right.right b
· left
left
exact ihtrig.right.left c
· right
exact ihtrig.right.right.left d' uses 'lim1'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:869:12: 'rcases (wopts h_prev) with a | b | c | d' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:870:14: 'absurd lim1 a' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:871:14: 'trivial' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:872:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:873:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:874:14: 'exact ihtrig.right.right.right b' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:875:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:876:14: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:877:14: 'exact ihtrig.right.left c' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:878:14: 'right' uses '⊢'!
warning: BanachTarski/Sato.lean:868:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:868:12: Try this:
[apply] simp only [Set.mem_union]
info: BanachTarski/Sato.lean:879:14: 'exact ihtrig.right.right.left d' uses '⊢'!
warning: BanachTarski/Sato.lean:864:10: 'simp [Invariant] at ih' is a flexible tactic modifying 'ih'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:885:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
left
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'ih'!
warning: BanachTarski/Sato.lean:863:10: 'simp [h_prev] at lim1' is a flexible tactic modifying 'lim1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:885:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
left
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'lim1'!
warning: BanachTarski/Sato.lean:549:4: 'simp at h' is a flexible tactic modifying 'h'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:885:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
left
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses 'h'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:885:10: 'have red : mod7_Z (Matrix.col (trunc_prod (↑i + 1)) 0) = mod7_Z (Matrix.mulVec M_s_i_Z m7prev) :=
by
have lem : trunc_prod (↑i + 1) = M_s_i_Z * trunc_prod ↑i :=
by
simp [trunc_prod]
rw [← tplist_def]
have lemm1 : N - 1 - i = Nat.succ (Nat.pred (N - 1 - i)) :=
by
have int0 : N - 1 - i ≠ 0 := by omega
exact (Nat.succ_pred_eq_of_ne_zero int0).symm
set D := Nat.pred (N - 1 - i) with ddef
have pD2 : N - 1 - (i + 1) = D := by
simp [D]
omega
rw [pD2, lemm1]
have more : (List.drop D tp_list) = M_s_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
left
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega
rw [more]
rfl
simp [m7prev]
rw [mod_lemma_Z]
rw [lem]
rfl' uses '⊢'!
warning: BanachTarski/Sato.lean:888:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:889:14: 'rw [← tplist_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:888:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:895:14: 'set D := Nat.pred (N - 1 - i) with ddef' uses '⊢'!
warning: BanachTarski/Sato.lean:888:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:899:14: 'rw [pD2, lemm1]' uses '⊢'!
warning: BanachTarski/Sato.lean:888:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:901:14: 'have more : (List.drop D tp_list) = M_s_i_Z :: (List.drop (D + 1) tp_list) :=
by
rw [List.drop_add_one_eq_tail_drop]
set DD := List.drop D tp_list with dddef
apply List.eq_cons_of_mem_head?
simp [header] at lhs
have sm : N - (i + 1) - 1 = D := by omega
have sm2 : N - 1 - i - 1 = D := by omega
rw [sm] at lhs
simp [DD]
simp [D]
simp [tp_list]
left
left
rw [sm2]
have more0 : _ := Option.getD_eq_iff.mp lhs
rcases more0 with L | R
· exact L
· have evenmore : _ := List.getElem?_eq_none_iff.mp R.left
simp [D] at evenmore
simp [N] at evenmore
exfalso
omega' uses '⊢'!
warning: BanachTarski/Sato.lean:905:16: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:905:16: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:908:16: 'rw [sm] at lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:912:16: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:913:16: 'left' uses '⊢'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:914:16: 'rw [sm2]' uses '⊢'!
warning: BanachTarski/Sato.lean:905:16: 'simp [header] at lhs' is a flexible tactic modifying 'lhs'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:905:16: Try this:
[apply] simp only [Option.mem_def] at lhs
info: BanachTarski/Sato.lean:915:16: 'have more0 : _ := Option.getD_eq_iff.mp lhs' uses 'lhs'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:916:16: 'rcases more0 with L | R' uses '⊢'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:917:18: 'exact L' uses '⊢'!
warning: BanachTarski/Sato.lean:909:16: 'simp [DD]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:909:16: Try this:
[apply] simp only [Option.mem_def]
info: BanachTarski/Sato.lean:921:18: 'exfalso' uses '⊢'!
warning: BanachTarski/Sato.lean:888:14: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:924:14: 'rw [more]' uses '⊢'!
warning: BanachTarski/Sato.lean:927:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:928:12: 'rw [mod_lemma_Z]' uses '⊢'!
warning: BanachTarski/Sato.lean:927:12: 'simp [m7prev]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:929:12: 'rw [lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:932:10: 'rw [red]' uses '⊢'!
warning: BanachTarski/Sato.lean:546:4: 'simp [Invariant]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:933:10: 'exact l2 m7prev prev_lem' uses '⊢'!
warning: BanachTarski/Sato.lean:946:4: 'simp [pre_prod_MAT]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:947:4: 'exact N_def.symm' uses '⊢'!
warning: BanachTarski/Sato.lean:953:6: 'simp [to_sato]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:954:6: 'rw [a2_eq_mk_w2]' uses '⊢'!
warning: BanachTarski/Sato.lean:953:6: 'simp [to_sato]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:955:6: 'exact FreeGroup.lift_mk' uses '⊢'!
warning: BanachTarski/Sato.lean:958:4: 'simp [case_image_is_my_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:960:4: 'apply congrArg List.prod' uses '⊢'!
warning: BanachTarski/Sato.lean:958:4: 'simp [case_image_is_my_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:965:6: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:958:4: 'simp [case_image_is_my_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:966:6: 'exact (so3_invs_coe s_op_n).symm' uses '⊢'!
warning: BanachTarski/Sato.lean:958:4: 'simp [case_image_is_my_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:967:4: 'intro lhs' uses '⊢'!
warning: BanachTarski/Sato.lean:958:4: 'simp [case_image_is_my_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:968:4: 'exact (so3_invs_coe t_op_n).symm' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:974:4: 'rw [to_MAT_prod]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:981:4: 'rw [inter]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:984:4: 'apply congrArg List.prod' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:990:6: 'intro _' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:991:6: 'rw [← mul_one (to_MAT M_s_i_Z)]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:992:6: 'have xyz : (1 : MAT) = (s_op_n : MAT) * (s_op_n : MAT)⁻¹ :=
by
rw [so3_invs_coe s_op_n]
have cm : s_op_n.val * s_op_n⁻¹.val = (s_op_n * s_op_n⁻¹).val := rfl
rw [cm]
simp' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:998:6: 'rw [xyz]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:999:6: 'rw [← mul_assoc]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1000:6: 'apply congrArg (fun M ↦ M * (s_op_n : MAT)⁻¹)' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1001:6: 'rw [← msi_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1004:6: 'rw [msinv_lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1006:6: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1007:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1008:6: 'ext x' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1011:6: 'intro _' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1012:6: 'rw [← mul_one (to_MAT M_s_Z)]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1013:6: 'have xyz : (1 : MAT) = (s_op_n : MAT)⁻¹ * (s_op_n : MAT) :=
by
rw [so3_invs_coe s_op_n]
have cm : (s_op_n⁻¹).val * s_op_n.val = (s_op_n⁻¹ * s_op_n).val := rfl
rw [cm]
simp' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1019:6: 'rw [xyz]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1020:6: 'rw [← mul_assoc]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1021:6: 'apply congrArg (fun M ↦ M * (s_op_n : MAT))' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1022:6: 'rw [← ms_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1023:6: 'rw [so3_invs_coe s_op_n]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1024:6: 'rw [← s_i_op_n_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1025:6: 'rw [s_i_op_n_equiv]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1027:6: 'rw [msinv_lem2]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1029:6: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1030:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1031:6: 'ext x' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1035:6: 'intro _' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1036:6: 'rw [← mul_one (to_MAT M_t_i_Z)]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1037:6: 'have xyz : (1 : MAT) = (t_op_n : MAT) * (t_op_n : MAT)⁻¹ :=
by
rw [so3_invs_coe t_op_n]
have cm : t_op_n.val * t_op_n⁻¹.val = (t_op_n * t_op_n⁻¹).val := rfl
rw [cm]
simp' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1043:6: 'rw [xyz]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1044:6: 'rw [← mul_assoc]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1045:6: 'apply congrArg (fun M ↦ M * (t_op_n⁻¹ : MAT))' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1046:6: 'rw [← mti_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1049:6: 'rw [mtinv_lem]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1051:6: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1052:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1053:6: 'ext x' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1056:6: 'intro _' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1057:6: 'rw [← mul_one (to_MAT M_t_Z)]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1058:6: 'have xyz : (1 : MAT) = (t_op_n : MAT)⁻¹ * (t_op_n : MAT) :=
by
rw [so3_invs_coe t_op_n]
have cm : t_op_n⁻¹.val * t_op_n.val = (t_op_n⁻¹ * t_op_n).val := rfl
rw [cm]
simp' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1064:6: 'rw [xyz]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1065:6: 'rw [← mul_assoc]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1066:6: 'apply congrArg (fun M ↦ M * (t_op_n : MAT))' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1067:6: 'rw [← mt_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1068:6: 'rw [so3_invs_coe t_op_n]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1069:6: 'rw [← t_i_op_n_def]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1070:6: 'rw [t_i_op_n_equiv]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1072:6: 'rw [mtinv_lem2]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1074:6: 'rw [← Matrix.diagonal_smul]' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1075:6: 'apply congrArg' uses '⊢'!
warning: BanachTarski/Sato.lean:973:4: 'simp [trunc_prod]' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1076:6: 'ext x' uses '⊢'!
warning: BanachTarski/Sato.lean:1088:4: 'simp at equal_prods' is a flexible tactic modifying 'equal_prods'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1089:4: 'have weird1 : sev_mat ^ N = to_MAT (trunc_prod (N - 1)) := by exact equal_prods' uses 'equal_prods'!
warning: BanachTarski/Sato.lean:1103:8: 'simp [Vs] at bad1' is a flexible tactic modifying 'bad1'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1104:10: 'rcases bad1 with b1 | b2 | b3' uses 'bad1'!
warning: BanachTarski/Sato.lean:1114:8: 'simp [Vsinv] at bad2' is a flexible tactic modifying 'bad2'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1115:10: 'rcases bad2 with b1 | b2 | b3' uses 'bad2'!
warning: BanachTarski/Sato.lean:1125:8: 'simp [Vt] at bad3' is a flexible tactic modifying 'bad3'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1126:10: 'rcases bad3 with b1 | b2 | b3' uses 'bad3'!
warning: BanachTarski/Sato.lean:1136:8: 'simp [Vtinv] at bad4' is a flexible tactic modifying 'bad4'. Try 'simp?' and use the suggested 'simp only [...]'. Alternatively, use `suffices` to explicitly state the simplified form.
Note: This linter can be disabled with `set_option linter.flexible false`
info: BanachTarski/Sato.lean:1137:10: 'rcases bad4 with b1 | b2 | b3' uses 'bad4'!
warning: BanachTarski/Sato.lean:556:6: Try this: intro lhs bad
Some required targets logged failures:
- BanachTarski.Rot
- BanachTarski.FixedPointLemma
error: build failed