-- Generated by the EML-lang Lean backend -- Source module: sine_oscillator -- Source file: /home/monogate/monogate/forge/examples/sine_oscillator.eml -- Verified fns: oscillate import MachLib.EML import MachLib.Trig import MachLib.Forge import MachLib.Linarith import MachLib.FixedPoint import MachLib.SignTactic open MachLib open MachLib.Real -- ── oscillate ── noncomputable def oscillate (amplitude : Real) (omega : Real) (t : Real) : Real := (amplitude * (Real.sin (omega * t))) theorem sine_oscillator_amplitude_bound (amplitude : Real) (omega : Real) (t : Real) (h1 : (amplitude >= (0 : Real))) (h2 : (amplitude <= (1 : Real))) (h3 : (omega >= (0 : Real))) (h4 : (omega <= (10000.0 : Real))) (h5 : (t >= (0 : Real))) : ((abs (oscillate amplitude omega t)) <= amplitude) := by unfold oscillate first | (apply lo_le_clamp <;> (first | assumption | mach_positivity)) | apply clamp_le_hi | mach_positivity | mach_sign | rfl | sorry -- out of reach; left for the prover