(Deep) Induction Rules for GADTs
summary
Extends structural induction so it actually proves properties of many GADTs by deriving deep induction rules for non-truly-nested GADTs using an equal type and the Henry Ford encoding to remove nested return types; requires every parameter type to admit a functorial map so predicate-liftings and maps exist; construction is implemented and machine-checked in Agda; method fails for truly nested GADTs, so those still lack an automatic deep-induction construction.
AI-written summary · about
