spec unit_conversions
"""
Duration Conversions and Comparisons
This example demonstrates:
- Duration unit types
- Automatic duration conversions
- Comparisons with durations
- Duration-aware arithmetic
"""
uses lemma units
data container_volume : 5
data contract_term : 52 week
data data_size : 500
data distance : 100
data package_weight : 25
data processing_duration : 90 minute
data project_length : 14 day
data review_period : 2 hour
data temperature : 20
rule duration_hours:
processing_duration as hour
rule duration_seconds:
processing_duration as second
rule review_in_minutes:
review_period as minute
rule project_in_hours:
project_length as hour
rule contract_in_days:
contract_term as day
rule weight_limit:
50
rule is_overweight:
package_weight > weight_limit
rule is_long_distance:
distance > 50
rule total_distance:
distance + 25
rule total_distance_doubled:
total_distance * 2
rule is_comfortable_temperature:
temperature >= 18 and temperature <= 24
rule needs_compression:
data_size > 100
rule is_quick_processing:
processing_duration < 2 hour
rule is_short_project:
project_length < 30 day
rule combined_duration:
processing_duration + review_period
rule long_term:
combined_duration > 3 hour