inductive Foo where | a | b | c def f : Foo → Nat | Foo.a => 10 | Foo.b => 20 | Foo.c => 35 inductive CXCursorKind where | CXCursor_UnexposedDecl | CXCursor_StructDecl | CXCursor_UnionDecl | CXCursor_ClassDecl | CXCursor_EnumDecl | CXCursor_FieldDecl | CXCursor_EnumConstantDecl | CXCursor_FunctionDecl | CXCursor_VarDecl | CXCursor_ParmDecl | CXCursor_ObjCInterfaceDecl | CXCursor_ObjCCategoryDecl | CXCursor_ObjCProtocolDecl | CXCursor_ObjCPropertyDecl | CXCursor_ObjCIvarDecl | CXCursor_ObjCInstanceMethodDecl | CXCursor_ObjCClassMethodDecl | CXCursor_ObjCImplementationDecl | CXCursor_ObjCCategoryImplDecl | CXCursor_TypedefDecl | CXCursor_CXXMethod | CXCursor_Namespace | CXCursor_LinkageSpec | CXCursor_Constructor | CXCursor_Destructor | CXCursor_ConversionFunction | CXCursor_TemplateTypeParameter | CXCursor_NonTypeTemplateParameter | CXCursor_TemplateTemplateParameter | CXCursor_FunctionTemplate | CXCursor_ClassTemplate | CXCursor_ClassTemplatePartialSpecialization | CXCursor_NamespaceAlias | CXCursor_UsingDirective | CXCursor_UsingDeclaration | CXCursor_TypeAliasDecl | CXCursor_ObjCSynthesizeDecl | CXCursor_ObjCDynamicDecl | CXCursor_CXXAccessSpecifier | CXCursor_FirstDecl | CXCursor_LastDecl | CXCursor_FirstRef | CXCursor_ObjCSuperClassRef | CXCursor_ObjCProtocolRef | CXCursor_ObjCClassRef | CXCursor_TypeRef | CXCursor_CXXBaseSpecifier | CXCursor_TemplateRef | CXCursor_NamespaceRef | CXCursor_MemberRef | CXCursor_LabelRef | CXCursor_OverloadedDeclRef | CXCursor_VariableRef | CXCursor_LastRef | CXCursor_FirstInvalid | CXCursor_InvalidFile | CXCursor_NoDeclFound | CXCursor_NotImplemented | CXCursor_InvalidCode | CXCursor_LastInvalid | CXCursor_FirstExpr | CXCursor_UnexposedExpr | CXCursor_DeclRefExpr | CXCursor_MemberRefExpr | CXCursor_CallExpr | CXCursor_ObjCMessageExpr | CXCursor_BlockExpr | CXCursor_IntegerLiteral | CXCursor_FloatingLiteral | CXCursor_ImaginaryLiteral | CXCursor_StringLiteral | CXCursor_CharacterLiteral | CXCursor_ParenExpr | CXCursor_UnaryOperator | CXCursor_ArraySubscriptExpr | CXCursor_BinaryOperator | CXCursor_CompoundAssignOperator | CXCursor_ConditionalOperator | CXCursor_CStyleCastExpr | CXCursor_CompoundLiteralExpr | CXCursor_InitListExpr | CXCursor_AddrLabelExpr | CXCursor_StmtExpr | CXCursor_GenericSelectionExpr | CXCursor_GNUNullExpr | CXCursor_CXXStaticCastExpr | CXCursor_CXXDynamicCastExpr | CXCursor_CXXReinterpretCastExpr | CXCursor_CXXConstCastExpr | CXCursor_CXXFunctionalCastExpr | CXCursor_CXXTypeidExpr | CXCursor_CXXBoolLiteralExpr | CXCursor_CXXNullPtrLiteralExpr | CXCursor_CXXThisExpr | CXCursor_CXXThrowExpr | CXCursor_CXXNewExpr | CXCursor_CXXDeleteExpr | CXCursor_UnaryExpr | CXCursor_ObjCStringLiteral | CXCursor_ObjCEncodeExpr | CXCursor_ObjCSelectorExpr | CXCursor_ObjCProtocolExpr | CXCursor_ObjCBridgedCastExpr | CXCursor_PackExpansionExpr | CXCursor_SizeOfPackExpr | CXCursor_LambdaExpr | CXCursor_ObjCBoolLiteralExpr | CXCursor_ObjCSelfExpr | CXCursor_OMPArraySectionExpr | CXCursor_ObjCAvailabilityCheckExpr | CXCursor_FixedPointLiteral | CXCursor_OMPArrayShapingExpr | CXCursor_OMPIteratorExpr | CXCursor_CXXAddrspaceCastExpr | CXCursor_LastExpr | CXCursor_FirstStmt | CXCursor_UnexposedStmt | CXCursor_LabelStmt | CXCursor_CompoundStmt | CXCursor_CaseStmt | CXCursor_DefaultStmt | CXCursor_IfStmt | CXCursor_SwitchStmt | CXCursor_WhileStmt | CXCursor_DoStmt | CXCursor_ForStmt | CXCursor_GotoStmt | CXCursor_IndirectGotoStmt | CXCursor_ContinueStmt | CXCursor_BreakStmt | CXCursor_ReturnStmt | CXCursor_GCCAsmStmt | CXCursor_AsmStmt | CXCursor_ObjCAtTryStmt | CXCursor_ObjCAtCatchStmt | CXCursor_ObjCAtFinallyStmt | CXCursor_ObjCAtThrowStmt | CXCursor_ObjCAtSynchronizedStmt | CXCursor_ObjCAutoreleasePoolStmt | CXCursor_ObjCForCollectionStmt | CXCursor_CXXCatchStmt | CXCursor_CXXTryStmt | CXCursor_CXXForRangeStmt | CXCursor_SEHTryStmt | CXCursor_SEHExceptStmt | CXCursor_SEHFinallyStmt | CXCursor_MSAsmStmt | CXCursor_NullStmt | CXCursor_DeclStmt | CXCursor_OMPParallelDirective | CXCursor_OMPSimdDirective | CXCursor_OMPForDirective | CXCursor_OMPSectionsDirective | CXCursor_OMPSectionDirective | CXCursor_OMPSingleDirective | CXCursor_OMPParallelForDirective | CXCursor_OMPParallelSectionsDirective | CXCursor_OMPTaskDirective | CXCursor_OMPMasterDirective | CXCursor_OMPCriticalDirective | CXCursor_OMPTaskyieldDirective | CXCursor_OMPBarrierDirective | CXCursor_OMPTaskwaitDirective | CXCursor_OMPFlushDirective | CXCursor_SEHLeaveStmt | CXCursor_OMPOrderedDirective | CXCursor_OMPAtomicDirective | CXCursor_OMPForSimdDirective | CXCursor_OMPParallelForSimdDirective | CXCursor_OMPTargetDirective | CXCursor_OMPTeamsDirective | CXCursor_OMPTaskgroupDirective | CXCursor_OMPCancellationPointDirective | CXCursor_OMPCancelDirective | CXCursor_OMPTargetDataDirective | CXCursor_OMPTaskLoopDirective | CXCursor_OMPTaskLoopSimdDirective | CXCursor_OMPDistributeDirective | CXCursor_OMPTargetEnterDataDirective | CXCursor_OMPTargetExitDataDirective | CXCursor_OMPTargetParallelDirective | CXCursor_OMPTargetParallelForDirective | CXCursor_OMPTargetUpdateDirective | CXCursor_OMPDistributeParallelForDirective | CXCursor_OMPDistributeParallelForSimdDirective | CXCursor_OMPDistributeSimdDirective | CXCursor_OMPTargetParallelForSimdDirective | CXCursor_OMPTargetSimdDirective | CXCursor_OMPTeamsDistributeDirective | CXCursor_OMPTeamsDistributeSimdDirective | CXCursor_OMPTeamsDistributeParallelForSimdDirective | CXCursor_OMPTeamsDistributeParallelForDirective | CXCursor_OMPTargetTeamsDirective | CXCursor_OMPTargetTeamsDistributeDirective | CXCursor_OMPTargetTeamsDistributeParallelForDirective | CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective | CXCursor_OMPTargetTeamsDistributeSimdDirective | CXCursor_BuiltinBitCastExpr | CXCursor_OMPMasterTaskLoopDirective | CXCursor_OMPParallelMasterTaskLoopDirective | CXCursor_OMPMasterTaskLoopSimdDirective | CXCursor_OMPParallelMasterTaskLoopSimdDirective | CXCursor_OMPParallelMasterDirective | CXCursor_OMPDepobjDirective | CXCursor_OMPScanDirective | CXCursor_OMPTileDirective | CXCursor_OMPCanonicalLoop | CXCursor_OMPInteropDirective | CXCursor_OMPDispatchDirective | CXCursor_OMPMaskedDirective | CXCursor_OMPUnrollDirective | CXCursor_LastStmt | CXCursor_TranslationUnit | CXCursor_FirstAttr | CXCursor_UnexposedAttr | CXCursor_IBActionAttr | CXCursor_IBOutletAttr | CXCursor_IBOutletCollectionAttr | CXCursor_CXXFinalAttr | CXCursor_CXXOverrideAttr | CXCursor_AnnotateAttr | CXCursor_AsmLabelAttr | CXCursor_PackedAttr | CXCursor_PureAttr | CXCursor_ConstAttr | CXCursor_NoDuplicateAttr | CXCursor_CUDAConstantAttr | CXCursor_CUDADeviceAttr | CXCursor_CUDAGlobalAttr | CXCursor_CUDAHostAttr | CXCursor_CUDASharedAttr | CXCursor_VisibilityAttr | CXCursor_DLLExport | CXCursor_DLLImport | CXCursor_NSReturnsRetained | CXCursor_NSReturnsNotRetained | CXCursor_NSReturnsAutoreleased | CXCursor_NSConsumesSelf | CXCursor_NSConsumed | CXCursor_ObjCException | CXCursor_ObjCNSObject | CXCursor_ObjCIndependentClass | CXCursor_ObjCPreciseLifetime | CXCursor_ObjCReturnsInnerPointer | CXCursor_ObjCRequiresSuper | CXCursor_ObjCRootClass | CXCursor_ObjCSubclassingRestricted | CXCursor_ObjCExplicitProtocolImpl | CXCursor_ObjCDesignatedInitializer | CXCursor_ObjCRuntimeVisible | CXCursor_ObjCBoxable | CXCursor_FlagEnum | CXCursor_ConvergentAttr | CXCursor_WarnUnusedAttr | CXCursor_WarnUnusedResultAttr | CXCursor_AlignedAttr | CXCursor_LastAttr | CXCursor_PreprocessingDirective | CXCursor_MacroDefinition | CXCursor_MacroExpansion | CXCursor_MacroInstantiation | CXCursor_InclusionDirective | CXCursor_FirstPreprocessing | CXCursor_LastPreprocessing | CXCursor_ModuleImportDecl | CXCursor_TypeAliasTemplateDecl | CXCursor_StaticAssert | CXCursor_FriendDecl | CXCursor_FirstExtraDecl | CXCursor_LastExtraDecl | CXCursor_OverloadCandidate deriving BEq, DecidableEq open CXCursorKind example (h : CXCursor_CUDAGlobalAttr = CXCursor_CUDAHostAttr) : False := by contradiction /-- info: false -/ #guard_msgs in #eval CXCursor_CUDAGlobalAttr == CXCursor_CUDAHostAttr /-- info: false -/ #guard_msgs in #eval decide (CXCursor_CUDAGlobalAttr = CXCursor_CUDAHostAttr)