How to define an inductive predicate on fset?
问题 I defined 2 kinds of values and a cast function: theory FSetIndTest imports Main "~~/src/HOL/Library/FSet" begin datatype val1 = A | B datatype val2 = C | D inductive cast_val :: "val1 ⇒ val2 ⇒ bool" where "cast_val A C" | "cast_val B D" Also, I defined cast function for a list of values: inductive cast_list :: "val1 list ⇒ val2 list ⇒ bool" where "cast_list [] []" | "cast_val x y ⟹ cast_list xs ys ⟹ cast_list (x#xs) (y#ys)" code_pred [show_modes] cast_list . values "{x. cast_list [A, B] x}"