nats : List Nat -> List Nat nats = the (List Nat) singletonRange : nats [1..1] = nats [1] singletonRange = Refl basicIncreasingRange : nats [1..3] = nats [1, 2 , 3] basicIncreasingRange = Refl basicDecreasingRange : nats [3..1] = nats [3, 2, 1] basicDecreasingRange = Refl increasingRangeWithStep : nats [3, 5..11] = nats [3, 5, 7, 9, 11] increasingRangeWithStep = Refl increaingRangeWithStepEmpty : nats [3, 5..1] = nats [] increaingRangeWithStepEmpty = Refl singletonRangeWithStep : nats [3, 4..3] = nats [3] singletonRangeWithStep = Refl zeroStepEmptyList : nats [3, 3..5] = nats [] zeroStepEmptyList = Refl zeroStepWhenBoundEqual : nats [1, 1..1] = nats [1] zeroStepWhenBoundEqual = Refl decreasingRangeWithStep : nats [11, 8..1] = nats [11, 8, 5, 2] decreasingRangeWithStep = Refl decreasingRangeWithStepEmpty : nats [9, 8..10] = nats [] decreasingRangeWithStepEmpty = Refl decreasingSingletonRangeWithStep : nats [9, 8..9] = nats [9] decreasingSingletonRangeWithStep = Refl