Skip to content
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
exact matches_loop start stopAll goals completed! 🐙end JaxLean.Puzzles.Linspace