import JaxLean.Stdlib import examples.tensor_puzzles.generated.PuzzlesLinspaceset_option maxRecDepth 4096set_option maxHeartbeats 2000000namespace JaxLean.Puzzles.Linspacetheorem matches_loop (start : Tensor ℝ []) (stop : Tensor ℝ []) : Array.linspace start stop = Loop.linspace start stop := start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop = Loop.linspace start stop start:Tensor ℝ []stop:Tensor ℝ []i:Fin 3u:Index []⊢ Array.linspace start stop (i, u) = Loop.linspace start stop (i, u) start:Tensor ℝ []stop:Tensor ℝ []i:Fin 3⊢ Array.linspace start stop (i, PUnit.unit) = Loop.linspace start stop (i, PUnit.unit) start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨0, ⋯⟩, PUnit.unit)start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨1, ⋯⟩, PUnit.unit)start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨2, ⋯⟩, PUnit.unit) start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨0, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨0, ⋯⟩, PUnit.unit)start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨1, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨1, ⋯⟩, PUnit.unit)start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop ((fun i => i) ⟨2, ⋯⟩, PUnit.unit) = Loop.linspace start stop ((fun i => i) ⟨2, ⋯⟩, PUnit.unit) start:Tensor ℝ []stop:Tensor ℝ []⊢ start () + (stop () - start ()) * ↑2 / 2 = if ⟨2, ⋯⟩ = 2 then start () + (stop () - start ()) * 2 / 2 else if ⟨2, ⋯⟩ = 1 then start () + (stop () - start ()) * 1 / 2 else if ⟨2, ⋯⟩ = 0 then start () + (stop () - start ()) * 0 / 2 else 0 all_goals All goals completed! 🐙start:Tensor ℝ []stop:Tensor ℝ []⊢ Array.linspace start stop = Loop.linspace start stop All goals completed! 🐙end JaxLean.Puzzles.Linspace