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 weeks
data data_size : 500
data distance : 100
data package_weight : 25
data processing_duration : 90 minutes
data project_length : 14 days
data review_period : 2 hours
data temperature : 20
rule duration_hours:
processing_duration as hours
rule duration_seconds:
processing_duration as seconds
rule review_in_minutes:
review_period as minutes
rule project_in_hours:
project_length as hours
rule contract_in_days:
contract_term as days
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 hours
rule is_short_project:
project_length < 30 days
rule combined_duration:
processing_duration + review_period
rule long_term:
combined_duration > 3 hours