import JaxLean.Stdlib import examples.tensor_puzzles.generated.PuzzlesTriuset_option maxRecDepth 4096set_option maxHeartbeats 2000000namespace JaxLean.Puzzles.Triutheorem matches_loop : Array.triu (R := ℝ) = Loop.triu (R := ℝ) := ⊢ Array.triu = Loop.triu i:Fin 3j:Fin 3u:Index []⊢ Array.triu (i, j, u) = Loop.triu (i, j, u) i:Fin 3j:Fin 3⊢ Array.triu (i, j, PUnit.unit) = Loop.triu (i, j, PUnit.unit) j:Fin 3⊢ Array.triu ((fun i => i) ⟨0, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨0, ⋯⟩, j, PUnit.unit)j:Fin 3⊢ Array.triu ((fun i => i) ⟨1, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨1, ⋯⟩, j, PUnit.unit)j:Fin 3⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, j, PUnit.unit) j:Fin 3⊢ Array.triu ((fun i => i) ⟨0, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨0, ⋯⟩, j, PUnit.unit)j:Fin 3⊢ Array.triu ((fun i => i) ⟨1, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨1, ⋯⟩, j, PUnit.unit)j:Fin 3⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, j, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, j, PUnit.unit) ⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) ⊢ Array.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨0, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨1, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨0, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨1, ⋯⟩, PUnit.unit)⊢ Array.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.triu ((fun i => i) ⟨2, ⋯⟩, (fun i => i) ⟨2, ⋯⟩, PUnit.unit) ⊢ (if decide (↑2 ≤ ↑2) = true then 1 else 0) = if ⟨2, ⋯⟩ = 2 ∧ ⟨2, ⋯⟩ = 2 then 1 else if ⟨2, ⋯⟩ = 1 ∧ ⟨2, ⋯⟩ = 2 then 1 else if ⟨2, ⋯⟩ = 1 ∧ ⟨2, ⋯⟩ = 1 then 1 else if ⟨2, ⋯⟩ = 0 ∧ ⟨2, ⋯⟩ = 2 then 1 else if ⟨2, ⋯⟩ = 0 ∧ ⟨2, ⋯⟩ = 1 then 1 else if ⟨2, ⋯⟩ = 0 ∧ ⟨2, ⋯⟩ = 0 then 1 else 0 all_goals All goals completed! 🐙⊢ Array.triu = Loop.triu All goals completed! 🐙end JaxLean.Puzzles.Triu