def checked_frame
bendtorch-core@0.1.0.0 · src/tensor/core_PROOF.bend:451
import bendtorch-core@0.1.0.0/src/tensor/core_PROOF.bend as CorePROOF
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
451def checked_frame(-shape: Shape.Shape, -original: Core.Tensor<shape>, -output: Core.Tensor<shape>, +other: U32,
452 -before: Core.ObservationChecked(Core.Packed{shape, original}, other),
453 -after: Core.ObservationChecked(Core.Packed{shape, output}, other),
454 -physical: {Core.observe(shape, output, other) == Core.observe(shape, original, other) : Maybe<&2, F32>}) -> CheckedFrame<shape, original, output, other>:
455 CheckedFrame{
456 {\{Core.ObservationModel: after_equal =>
457 {\{Core.ObservationModel: before_equal =>
458 Equal.trans(Maybe<&2, F32>, Core.checked_observe(shape, output, other), Core.observe(shape, output, other), Core.checked_observe(shape, original, other),
459 after_equal, Equal.trans(Maybe<&2, F32>, Core.observe(shape, output, other), Core.observe(shape, original, other), Core.checked_observe(shape, original, other),
460 physical, Equal.sym(Maybe<&2, F32>, Core.checked_observe(shape, original, other), Core.observe(shape, original, other), before_equal)))
461 } : Core.ObservationModel<shape, original, other, before> -> {Core.checked_observe(shape, output, other) == Core.checked_observe(shape, original, other) : Maybe<&2, F32>}}(Core.observation_model(shape, original, other, before))
462 } : Core.ObservationModel<shape, output, other, after> -> {Core.checked_observe(shape, output, other) == Core.checked_observe(shape, original, other) : Maybe<&2, F32>}}(Core.observation_model(shape, output, other, after))}