        {"id":887,"date":"2022-04-19T07:00:52","date_gmt":"2022-04-19T05:00:52","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/?p=887"},"modified":"2022-04-24T11:13:30","modified_gmt":"2022-04-24T09:13:30","slug":"propiedad-de-monotonia-de-la-interseccion","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/propiedad-de-monotonia-de-la-interseccion\/","title":{"rendered":"Propiedad de monoton\u00eda de la intersecci\u00f3n"},"content":{"rendered":"<p>Demostrar que la intersecci\u00f3n es mon\u00f3tona por la izquierda; es decir, si <code>s \u2286 t<\/code>, entonces <code>s \u2229 u \u2286 t \u2229 u<\/code>.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport data.set.basic\nopen set\n\nvariable {\u03b1 : Type}\nvariables s t u : set \u03b1\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><strong>Soluciones con Lean<\/strong><\/p>\n<pre lang=\"lean\">\nimport data.set.basic\nimport tactic\n\nopen set\n\nvariable {\u03b1 : Type}\nvariables s t u : set \u03b1\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nbegin\n  rw subset_def,\n  rw inter_def,\n  rw inter_def,\n  dsimp,\n  intros x h1,\n  cases h1 with xs xu,\n  split,\n  { rw subset_def at h,\n    apply h,\n    exact xs, },\n  { exact xu, },\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nbegin\n  rw [subset_def, inter_def, inter_def],\n  dsimp,\n  rintros x \u27e8xs, xu\u27e9,\n  rw subset_def at h,\n  exact \u27e8h x xs, xu\u27e9,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nbegin\n  simp only [subset_def, inter_def, inter_def],\n  rintros x \u27e8xs, xu\u27e9,\n  rw subset_def at h,\n  exact \u27e8h _ xs, xu\u27e9,\nend\n\n-- 4\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nbegin\n  intros x xsu,\n  exact \u27e8h xsu.1, xsu.2\u27e9,\nend\n\n-- 5\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nbegin\n  rintros x \u27e8xs, xu\u27e9,\n  exact \u27e8h xs, xu\u27e9,\nend\n\n-- 6\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\n-- by library_search\ninter_subset_inter_left u h\n\n-- 7\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : s \u2286 t)\n  : s \u2229 u \u2286 t \u2229 u :=\nby tidy\n<\/pre>\n<p>El c\u00f3digo de las demostraciones se encuentra en <a href=\"https:\/\/github.com\/jaalonso\/Demostrando-con-Lean\/blob\/main\/src\/Propiedad_de_monotonia_de_la_interseccion.lean\">GitHub<\/a> y puede ejecutarse con el <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Demostrando-con-Lean\/main\/src\/Propiedad_de_monotonia_de_la_interseccion.lean\">Lean Web editor<\/a>.<\/p>\n<p>La construcci\u00f3n de las demostraciones se muestra en el siguiente v\u00eddeo<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/W2_gMDHRehg\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p><strong>Soluciones con Isabelle\/HOL<\/strong><\/p>\n<pre lang=\"isar\">\ntheory Propiedad_de_monotonia_de_la_interseccion\nimports Main\nbegin\n\n(* 1\u00aa soluci\u00f3n *)\nlemma\n  assumes \"s \u2286 t\"\n  shows   \"s \u2229 u \u2286 t \u2229 u\"\nproof  (rule subsetI)\n  fix x\n  assume hx: \"x \u2208 s \u2229 u\"\n  have xs: \"x \u2208 s\"\n    using hx\n    by (simp only: IntD1)\n  then have xt: \"x \u2208 t\"\n    using assms\n    by (simp only: subset_eq)\n  have xu: \"x \u2208 u\"\n    using hx\n    by (simp only: IntD2)\n  show \"x \u2208 t \u2229 u\"\n    using xt xu\n    by (simp only: Int_iff)\nqed\n\n(* 2 soluci\u00f3n *)\nlemma\n  assumes \"s \u2286 t\"\n  shows   \"s \u2229 u \u2286 t \u2229 u\"\nproof\n  fix x\n  assume hx: \"x \u2208 s \u2229 u\"\n  have xs: \"x \u2208 s\"\n    using hx\n    by simp\n  then have xt: \"x \u2208 t\"\n    using assms\n    by auto\n  have xu: \"x \u2208 u\"\n    using hx\n    by simp\n  show \"x \u2208 t \u2229 u\"\n    using xt xu\n    by simp\nqed\n\n(* 3\u00aa soluci\u00f3n *)\nlemma\n  assumes \"s \u2286 t\"\n  shows   \"s \u2229 u \u2286 t \u2229 u\"\nusing assms\nby auto\n\n(* 4\u00aa soluci\u00f3n *)\nlemma\n  \"s \u2286 t \u27f9 s \u2229 u \u2286 t \u2229 u\"\nby auto\n\nend\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Demostrar que la intersecci\u00f3n es mon\u00f3tona por la izquierda; es decir, si s \u2286 t, entonces s \u2229 u \u2286 t \u2229 u. Para ello, completar la siguiente teor\u00eda de Lean: import data.set.basic open set variable {\u03b1 : Type} variables s t u : set \u03b1 example (h : s \u2286 t) : s \u2229 u \u2286 t \u2229 u := sorry<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7],"tags":[282],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/posts\/887"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":8,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"predecessor-version":[{"id":921,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/posts\/887\/revisions\/921"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}