Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
| Download
Try doing some basic maths questions in the Lean Theorem Prover. Functions, real numbers, equivalence relations and groups. Click on README.md and then on "Open in CoCalc with one click".
Project: Xena
Views: 21794License: APACHE
oleanfile 3.4.2, commit cbd2b6686ddb ��X�o init tactic core tactic converter old_conv � 5�export_decl option none none some some export_decl bool ff ff tt tt export_decl has_andthen andthen andthen export_decl has_pow pow pow export_decl has_append append append export_decl decidable is_true is_true is_false is_false to_bool to_bool export_decl has_pure pure pure export_decl has_bind bind bind export_decl has_monad_lift_t monad_lift !monad_lift export_decl monad_functor_t monad_map $monad_map export_decl monad_run run 'run export_decl list mmap *mmap mmap' *mmap' mfilter *mfilter mfoldl *mfoldl export_decl native nat_map 3rb_map mk export_decl name_map native rb_map mk export_decl expr_map native rb_map mk export_decl tactic interaction_monad failed fail export_decl tactic_result interaction_monad result export_decl tactic Ftransparency reducible Greducible semireducible Gsemireducible export_decl tactic mk_simp_attr Lmk_simp_attr export_decl monad_except throw Othrow catch Ocatch export_decl monad_except_adapter adapt_except Tadapt_except export_decl monad_state_adapter adapt_state Wadapt_state export_decl monad_reader read Zread export_decl monad_reader_adapter adapt_reader ]adapt_reader export_decl is_lawful_functor map_const_eq `map_const_eq id_map `id_map comp_map `comp_map export_decl is_lawful_applicative seq_left_eq gseq_left_eq seq_right_eq gseq_right_eq pure_seq_eq_map gpure_seq_eq_map map_pure gmap_pure seq_pure gseq_pure seq_assoc gseq_assoc export_decl is_lawful_monad bind_pure_comp_eq_map tbind_pure_comp_eq_map bind_map_eq_seq tbind_map_eq_seq pure_bind tpure_bind bind_assoc tbind_assoc decl old_conv save_info p pos old_conv unit id_rhs r name lhs expr bool tt tactic old_conv_result � � monad to_has_bind interaction_monad monad tactic_state tactic read ts has_bind and_then tactic save_info_thunk _x �format_expr return old_conv_result mk unit star ' � PInfo ~ VMR ~_lambda_1 VMR ~VMC � � _fresh � -� �_fresh � -� tactic_state format_expr VMC ~ s � � �tactic save_info_thunk decl }step α c � B � D ' old_conv monad C . L 4 � PInfo � VMR �_lambda_1 VMR �VMC � _x �pure VMC � � � B � �bind decl }istep α Bline0 nat col0 Xline Xcol Xc � B � X � X � X � X � Z r lhs ts interaction_monad result � � � �clamp_pos Yscope_trace c m Y_x M Y S $ ) ' � PInfo � VMR �_lambda_1 VMR �_lambda_2 VMR � VMC � � �VMC � & � �_fresh � � �_fresh � � �_fresh � � �_fresh � � � �VMC � � � � � � X � X � X � X � B � scope_trace interaction_monad result clamp_pos decl }execute c � � }conversion C � PInfo � VMR �VMC � � �conversion nspace }interactive decl �itactic B � B � PInfo � VMR � VMC � decl �whnf Gold_conv whnf I � PInfo �# VMR � VMC � # �whnf decl �dsimp Gold_conv dsimp � PInfo �& VMR � VMC � & �dsimp decl �trace_state Gold_conv trace_lhs � PInfo �) VMR � VMC � ) �trace_lhs decl �change p interactive parse pexpr a �expr reflect bool ff C �types texpr � � Gold_conv change C � PInfo �, VMR �VMC �, � � �change decl �find p �lean parser pexpr std prec max c �itactic � � � � r lhs tactic pattern tactic pexpr_to_pattern $pat � simp_lemmas simp_lemmas mk_default s � prod bool � tactic ext_simplify_core � �tactic simp_config mk simp default_max_steps � � � � � � � Cu � 0 � Cfound �s �r p option e � � � � �guard tactic alternative not coe_sort �coe_sort_bool Yne decidable �a �b �bool decidable_eq ' C Y _x � �has_orelse orelse alternative to_has_orelse � � �list level � � tactic match_pattern k ' � � � �matched � � � � C � C _x � m $_p _a �cases_on � 5 � Cval rhs proof � � . 0 �prod mk � � � 4 � ' � 4 � � C � Ca �s �r p �e tactic failed � $ )_p �_a �prod cases_on � � � D � Cfst �snd � � b � H � Csnd_fst snd_snd ite � � $ � $ tactic fail string string has_to_format Str find converter failed, pattern was not found 1 6 C C � PInfo �/ VMR �_lambda_1 VMR �_lambda_2 VMR �_lambda_3 VMR �_lambda_4 VMR �_lambda_5 VMR �VMC � Q5s � � VMC � R/ � �_fresh � � �_fresh � � � tactic match_pattern VMC � S/ � V VMC � T]6 � � � � � � � � � � \ � �_fresh � � � � (_main interaction_monad failed W � S � R interaction_monad_orelse P � b #) � d, -I 5B GN U VMC � U< � @ � ? � � > � = � � < � ?failed VMC �� 1/ � � � � � � � � pexpr_to_pattern � +simp_lemmas mk_default � $ � U � T � Q � tactic ext_simplify_core %� � b -/4 13 4 5= � fchar of_nat _c_1 i � m_c_2 n � m_c_3 d � m_c_4 � m_c_5 o � m_c_6 e � m_c_7 r � m_c_8 t � m_c_9 a � m_c_10 u � m s � m w � m p � m , � m l � m v � m c � mstring empty string str � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � { � {string has_to_format ?fail � " � ) decl conv replace_lhs tac a �conv � � � � � � � � � �conv monad � � � � � lhs C_p �_a � � i � � � � � C � G � H � � � update_lhs ' C C � PInfo � �G VMR � �_lambda_1 VMR � �_lambda_2 VMR � �_lambda_3 VMR � �VMC � �G α VMC � � G a �_fresh � v � � conv lhs � � VMC � �H � � � � � � �update_lhs VMC � �G � � � � � � � � � � � � decl � discharge_eq_lhs tac � � � � � � � � � � tactic lock_tactic_state � � � � Fmk_meta_var m � Fset_goals list cons Clist nil _x � � ) Fdone _x Finstantiate_mvars )pf � � � congr _x � � � rhs the_rhs � � � � C )_x � � � skip _x � � � PInfo � �L VMR � �_lambda_1 VMR � �_lambda_2 VMR � �_lambda_3 VMR � �_lambda_4 VMR � �_lambda_5 VMR � �_lambda_6 VMR � �_lambda_7 VMR � �VMC � �L � � VMC � �;L � �_fresh � �} � � � tactic mk_meta_var 5 tactic set_goals . � �! "'tactic instantiate_mvars ,3VMC � �U � � � �skip VMC � � T � � � � � � � � � � VMC � �S � � � � �_fresh � �� � � � � � � VMC � �R � � � � � � � � � �rhs � � VMC � �Q � � � � � � � �congr � � VMC � �L � � � � � � � � � � � � � decl � interactive conv t conv interactive itactic � � � � � � � � � �tactic transitivity tactic transparency semireducible _x � � � Fget_goals _p � _a � list cases_on � � � � � C � � match_failed � �conv monad_fail Annot do_failure_eq hd tl � � � � � � � � � ' � �_x � �_x � � Fall_goals � �reflexivity � �_x � � $ C � PInfo � �^prt � �VMR � �_lambda_1 VMR � �_lambda_2 VMR � �_lambda_3 VMR � �_lambda_4 VMR � �_rec_1 VMR � �_lambda_5 VMR � �VMC � �^ � � VMC � �d � � �_fresh � �x � � �VMC � �c � � � � � � � � � � � � � � � VMC � �b � � � � � � � �_fresh � �s � � � � � � VMC � �^ � � n � �_fresh � �* � �list cases_on � � � � match_failed � � � � � � VMC � �` � � � � �_fresh � �~ � � � �tactic get_goals � � VMC � �^ � � � � � � � � � � � � doc � � The `conv` tactic provides a `conv` within a `conv`. It allows the user to return to a previous state of the outer conv block to continue editing an expression without having to start a new conv block. decl � �erw q �tactic interactive rw_rules_t � � - � �has_reflect Ctactic interactive rw_rules cfg opt_param tactic rewrite_cfg � mk Fapply_cfg mk � � Fnew_goals non_dep_first �occurrences all � � � � � 4 � � � F � � � �rw ' C � PInfo � �f VMR � �VMC � �f � � � F � � � 4 conv interactive rw decl tactic interactive old_conv c � � � � � � � � target t � old_conv to_tactic 'name mk_string Str eq name anonymous C_p �_a � � i � � � C � G � H � � replace_target ' C C � PInfo � s VMR � VMC � *s � � � tactic target $name anonymous q � me � m � y � { � {name mk_string �to_tactic tactic replace_target "decl � find p � � O � ' �c � � � old_conv old_conv interactive find ' C � PInfo � &x VMR � &VMC � &x � ( � � ' � � � decl � conv_lhs loc � � � � zoption has_reflect � name reflect C Quote Coptional lean parser lean parser alternative has_seq_right seq_right � �applicative to_has_seq_right � � �to_applicative � � � 6parser_state � 7tk Str at � 7ident p � � � � � � � | � � Quote � C � � � � � � � � Str in �c � � � � . � � � A � � � B � � � � conv ) ' � � � � � �conv interactive to_lhs C � PInfo � -{ VMR � -_lambda_1 VMR � -_lambda_2 VMR � -_lambda_3 VMR � -VMC � G{ � � VMC � H{ � �_fresh � �z � �VMC � I{ � � � L � � � H � to_lhs � � VMC � -{ � B � � � A � � � . � � � Itactic interactive conv decl � conv_rhs loc � { � � z � � Quote C � �p � � � � � � � Quote � C � � � � � R � � � S � �c � � � � � � �conv interactive to_rhs C � PInfo � Q� VMR � Q_lambda_1 VMR � Q_lambda_2 VMR � Q_lambda_3 VMR � QVMC � X� � � VMC � Y� � �_fresh � \� � �VMC � Z� � � � ] � � � Y � to_rhs � � VMC � Q� � T � � � S � � � R � � � Z � PEndFile